

NekoVM / Neko Programming Language - prog
http://nekovm.org/

======
silentbicycle
When talking about mutable strings, he says that Lua's immutable strings make
reading a file "quadratic and [...] prohibitively slow for even files of a few
kilobytes.", which is demonstrably false. Sure, if you read a byte,
nondestructively append a byte to what you've read, looping through anything,
then you're screwed, in any language.* Large files should be read a line, a
block, a megabyte, etc. at a time, anyway, though - the IO call overhead will
dominate otherwise, no matter what you do.

* Joel Spolsky calls this "Shlemiel the painter" behavior. Difference lists are another direct solution for this, but not many languages have them.

He notes that, "Lua offers a facility, table.concat, to alleviate this
problem; but it still bites programmers on occasion.", but using table.concat
for large strings is both 1) one of the first things mentioned about working
with strings in PiL (including explaining why doing appends naively is
quadratic), and 2) incredibly common, so it's really not an issue in practice.

In my experience, having immutable and interned strings is usually a net win,
even if they're a second data type (Lisp and K call them symbols, Erlang and
Prolog call them atoms, etc.). Lua merges string, atoms, and raw byte arrays
into the same type (albeit with a cute trick for large strings), but it also
has the C API as an easy escape hatch.

------
JoelMcCracken
Why should I care?

(I'm not saying that I shouldn't care. It just isn't immediately apparent what
the reason is for me to care.)

There are lots of non mainstream languages out there. I love to learn about
them, but I must be told why it should interest me.

~~~
swah
Neko -> Haxe -> Cool flash stuff

Related: <http://ncannasse.fr/blog/physaxe>

[edit: oops, I think Haxe doesn't need Neko if you're targetting Flash]

------
est
how is neko compared to lua today?

~~~
swah
Totally different? IIRC, Neko is based on Ocaml, which is on the other side of
the spectrum from dynamic languages like Lua...

So... what do you mean?

~~~
est
<http://nekovm.org/lua>

> Lua is maybe the Virtual Machine that is the most similar to Neko in terms
> of goals, architecture and performances, it is interesting to compare the
> choices that the two VM are doing.

