[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Logo

Ian Bicking wrote:

> I don't think we need to add anything to the core of the language to
> extend the turtle metaphor, add graphics, or any of that.  If we were
> to be sophisticated enough at shared libraries and such, we might
> not even need to change the interpreter.

I'd rather change the interpreter  - it's interface has probs. anyway.

> We could certainly implement a GTK interface creating procedures
> like GTK_CREATE_BUTTON that directly mirror the C procedures.
> The turtle metaphor can fit ontop of that.  You could move the
> widget around with FD, RT, SETCOR.  You could tell it to do things
> in the same way you might control multiple turtles.  That can all be
> done at the Logo level, without changing the base language (though
> perhaps some of it would be implemented in C for performance
> reasons).

Yep- :-)

> The even handling that I mentioned in the other post would require
> extensions to the language, but you could do events in a more
> normal way too:
> TELL "awidget [ON "someevent [do.something]]
> Whatever we do, we'll want to create a layer of abstraction that's
> higher than GTK -- more simplified, more Logoish.

Agreed here.

> And if the turtle metaphor doesn't work, or you want to get around it
> for some reason, it should be possible to avoid.

I think I'd probably avoid the turtle metaphor but it'd be good for kids and starters.

So where do we go from here? The GTK layer would be the start I think. The basic turtle as
is would be changed into a logo library that uses GTK canvas/imlib functions. So shall we
see if we can modify the interpreter to:

1) Use GTK instead of just XLib.
2) Provide procs. for just a few GTK funcs. open window, add pixmap widget, output to it and
redraw etc.
3) Write the logo turtle library no more advanced than it is now but using the logo GTK

then we'd know how it could all be put together. What do you think?

I think we'd still need an interpreter that doesn't contain X code for cgi stuff and command
line stuff. But that's just a case of cutting down what's there now and it exiting when it's
finished executing a program.

There's a bug in the program - when you load a textfile containing code, it garbages it
instead of creating the procedures. Have you had a similar problem? (Linux version).

I'll leave the next decision as to what we do next up to you. You know more about the
language than I.

Don't you go on the IRC server at cran anytime? These discussions could be faster and more
dynamic if you did. I'll be on there for the next few hours I think.