> ==> I think that's why "Transmuter" introduce 2 new keywords.
> But, it's not just "macro". Look carefully.
> "define" is most like macro, it's not compiled on the fly, the defintion is
> hold, and it's compiled only when used. Ok.
> "transient" is quite different, since, it's compiled, but ALSO evaluated when
> used ! that mean the compiler have access to the interpreter. Maybe it should 
> be
> re-entrant ? I have not think carefully about it. But it's very powerful.
> 
> Yes, that means an additional compilation pass. And even more, maybe a 
> recursive
> one.

You can do it for your language, but the compiler is by default separate
from the VM, Neko is compiled off-VM, this way you can deploy only the
crossplatform compiled bytecode (just like Java).


> Oups ! sorry, it's NATIVE, and not "builtin", and you can find it here :
> http://www.transmuter.org/definition.html#native
> 
> hence, it's not the same as "loader.loadprim", since a native in "transmuter" 
> is
> a direct call to a C library, and not a call to a wrapper "ndll".
> As I said before the "Qu" language have such a feature :
> Look at this (Excerpt from Qu http://centrin.net.id/~marc/features.html) :

>       @warn
>       Using this class requires some knowledge of C.
>       Give the wrong type and your program will crash.

Neko is by default crash-safe. There is no way to crash or corrupt it.
That means it's also a good VM for embedding, when you don't want user
written code to crash your application or infect your computer.

If you want such feature you'll have to add a small C library wrapping
the dlopen and dlsym C primitives for usage in Neko, and generate
"native" statements in your language by corresponding calls to theses
primitives.

Nicolas


-- 
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to