Hi all, I didn't realize that my project would end up in hacker-news. I was planning to make a public announcement later when I had something more stable. But well ... There is no going back now.
Right now, I need to stabilize closures, finish the standard library, write more tests and optimizations.
I saw a comment saying: it looks like clean. Well it's different in 2 ways, LinearML is strict and every object is linear. In most languages (Clean, ATS, etc ...), linear types are used to encode side-effects, as an alternative to monads. This is not the case here, in LiML, every object is linear! sharing has to be explicit. This leads to 3 interesting properties:
1) message passing is cheap (no need to copy)
2) most operations can be done "in-place", which is normally not true for a purely functional language. This allows better caching.
3) There is no GC. No runtime overhead for garbage collection at all.