Conversation
Replying to
Lua isn't too bad. Just those 1-based indices that are a pain, and how a nil element in an array basically truncates the array.
1
Replying to
I get that. But what I really like about Lua is how well thought and cleanly written it is. And coroutines. Love Lua's coroutines...
To help with some Lua warts I tend to develop in #Fennel
2
1
Replying to
I think of it as a Scheme in disguise.
In case you're interested, I wrote a tiny Erlang style scheduler on top of coroutines (async mailoxes) and libuv. I find coroutines a bit too raw.
1
1
Replying to
Nice! I rarely reach for coroutines, but I love that they are built in and well thought out .
I say this as someone who sees many of the "async" libraries (of various, um, popular languages) as being poor attempts to reinvent Tcl's built in event loop...
1
1
Replying to
It's a strange phenomenon. I mean it's main stream adoption does seem to originate out of the practical constraint that javascript doesn't have preemptive threading.
But it has the additional consequence that for many programming problems this is actually a good thing, avoiding a lot of synchronization hassle.
What I don't understand is that there was no proper cooperative multitasking built into browser javascript from the start.
1
What I think is funny is that a lot of people know about CPS and Monads without them realizing it :-)
1
1
Show replies
Replying to
But, even cooperative threading is best done when the core language supports it, rather than tacked on as a library. Tcl, Lua, Scheme, etc have primitives at their core, that meshes cohesively with the language syntax and semantics.
1

