[Neko] Re: Evaluating VMs

Justin Bonnar justin at soaringcondor.com
Tue Feb 20 20:16:36 CET 2007


> *) which thread synchronization primitives are there?
See http://nekovm.org/doc/mt and http://nekovm.org/doc/view/thread  
for threading information.  The library supports message queues and  
locks out of the box.

> *) how is data input/output supported?
There are File IO functions documented at http://nekovm.org/doc/view/ 
file.  There's also an interface to the host system, see http:// 
nekovm.org/doc/view/sys.

> *) is socket programming supported?
Yes, see http://nekovm.org/doc/view/socket

> *) is char/string handling supported? translation to/from unicode?
Neko strings are fixed-length immutable byte arrays.  There are quiet  
a few string builtin functions (http://nekovm.org/doc/view/builtins)  
as well as library functions (http://nekovm.org/doc/view/string) and  
UTF8 handling functions (http://nekovm.org/doc/view/utf8).

> *) is interfacing to some native code possible?
Absolutely, see the Foreign Function Interface documentation at  
http://nekovm.org/doc/ffi for more information.  The VM is designed  
with this sort of extensibility in mind, and includes an "abstract"  
type used to hold some piece of C data.

I'm not sure regarding your other questions, but I've found Neko to  
be a pleasure to work with.  Using code generation in an intermediate  
language instead of bytecode generation helps immensely with  
prototyping, bootstrapping and debugging.  The dynamic typing also  
makes it incredibly easy to target for a latently typed language, and  
the flexibility of it's object system allows for some pretty cool  
features.

-Justin Bonnar



More information about the Neko mailing list