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.
2
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.
What I think is funny is that a lot of people know about CPS and Monads without them realizing it :-)
1
1
Replying to
Yes! And I keep pointing people at Concurrent ML to show how you can build "elegant" and performant cooperative concurrency with just continuations as the foundation.
1

