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

Re: Logo

Malonowa <malonowa@wanadoo.fr> wrote:
> I've been playing with logo again and the more I play with it and read info out there
> about it the more I remember that this is a real programming language and that the
> turtle is just a graphics library.
> Maybe the turtle should just remain as a graphics library that outputs to a canvas or
> pixmap. This could be extended to deal with images etc. Maybe even have multiple
> turtles on a canvas with very basic interface abilities such as mouse tracking. Then I
> could use that to produce animated edsoft. Cool.
> The widget set etc. I think should be done just as logo without a turtle metaphor.
> Then we won't pervert the language and add lots of silly concepts as people have done
> in the past. It'd make the job a lot easier as well.
> I don't want to lose the terminal aspect either. I think that's useful for cgi stuff
> and command line utilities. Maybe that'd require an X interpreter and a shell
> interpreter as in TCL (tclsh and wish).
> So that's the way I'd like to go with this.

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.

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 

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.

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

Ian Bicking <bickiia@earlham.edu>