built-in scripting languages.

Matthew S. Hamrick mhamrick at cryptonomicon.net
Wed Apr 18 19:02:17 CEST 2007

I think maybe we need a new version of Godwin's law... "any  
discussion about scripting languages should stop as soon as someone  
mentions Lisp (or Smalltalk.)"

But seriously... speed probably shouldn't be THE deciding factor in a  
built-in scripting language. It's the ability to get things done  
simply. I think that's why javascript / livewire made it's way into  
Navigator and Spyglass. They were "just enough" to get done what  
needed doing. I've never been the worlds biggest fan of AppleScript,  
but I like that Apple says it's there to stitch apps together.

At PalmSource, some of the Ex-Be guys worked on a tool called the  
Binder (now known as OpenBinder (as in http://openbinder.org/)). I  
come from a CORBA background, so I was slightly less than impressed  
that the only language bindings it supported out of the box was C++.  
But, for a while there, PalmSource was pushing the idea of opening up  
all application objects to a regular interface and adding other  
language bindings.

So... whatever the default scripting language, let's just make sure  
it has a way to get at the objects exposed by applications.

That being said... I vote for Smalltalk.

-Matt H.

On Apr 18, 2007, at 6:47 AM, Jim Thompson wrote:

> On Apr 18, 2007, at 2:41 AM, Michael 'Mickey' Lauer wrote:
>> PyGTK looks like the most likely contender to me -- not just  
>> because I
>> wrote a book about it and I'm the author of almost everything
>> Python-related in OE, but also because PyGTK is pretty mature and
>> easy to extend (you probably have seen Zecke's work in wrapping  
>> the Moko
>> classes did you?).
>> The thing that worries me is the performance. The Neo1973 has a  
>> really
>> slow CPU. I didn't test on a device yet, but I'm afraid running
>> 'import gtk' alone will take roughly 30 seconds, if not more.
>> We will probably have to jump through hoops to make _any_ scripting
>> language to perform reasonably on the Neo1973 (first incarnation).
> Well, python is known to be slow.
> There is plenty of CPU on the OpenMoko for something like Lua.. or  
> lisp, or scheme
> might look into Chicken Scheme: <http://www.call-with-current- 
> continuation.org/index.html>
> It runs on the Nokia 770: <http://chicken.wiki.br/chicken%20on% 
> 20handhelds>, and the Zaurus, both of which have less CPU
> than the Neo1973.
> Chicken Scheme compiles to 'C'.  Its fast, way faster than Python.   
> <http://curiousprogrammer.wordpress.com/2006/09/25/switching-scheme- 
> implementations/>
> One of the more recent additions to Chicken is the 'Easy Foreign  
> Function Interface'. This enables you to embed C or C++ code inside  
> your Scheme code and it gets converted to Scheme automatically. The  
> example given in the manual <http://chicken.wiki.br/easyffi> or  
> <http://www.call-with-current-continuation.org/chicken.pdf> uses  
> Chicken Scheme to write a Qt application. The Qt classes get  
> automatic wrappers generated using the object system (TinyClos). So  
> the actual Scheme code looks like:
> 	(define a (apply make <QApplication> (receive (argc+argv))))
> 	(define hello (make <QPushButton> "hello world!" #f))
> 	(resize hello 100 30)
> 	(setMainWidget a hello)
> 	(show hello)
> 	(exec a)
> 	(destroy hello)
> 	(destroy a)
> There is a GTK SWIG for Chicken: <http://wiki.freaks-unidos.net/ 
> chicken-gtk>
> Someone should also look into putting Einstein <http:// 
> www.kallisys.com/newton/einstein/> the NewtonOS port on the  
> Neo1973.  It already runs on the
> Nokia 770 and the Zaurus.
> Jim
> _______________________________________________
> OpenMoko community mailing list
> community at lists.openmoko.org
> http://lists.openmoko.org/mailman/listinfo/community

More information about the community mailing list