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.
A 1-2 page article, highlighting why this language is worth checking out, would be a much more useful submission than a link to the github repository.<p>The readme on the github page doesn't contain much more information than the title on HN.<p>I can't quickly evaluate whether this is worth downloading, configuring, and installing.<p>Maybe its just me, but I don't like HN submissions that point to github repositories, with skeleton readmes - I think we could do better.
Brief tutorial is linked off off of the wiki: <a href="https://github.com/pika/LinearML/wiki/Tutorial" rel="nofollow">https://github.com/pika/LinearML/wiki/Tutorial</a><p>Tried some brief Googling of what I think is the main author, and I found this paper, "HirondML: Fair Threads Migration for Objective Caml": <a href="http://www-apr.lip6.fr/~ravet/hirondml_ppl08.pdf" rel="nofollow">http://www-apr.lip6.fr/~ravet/hirondml_ppl08.pdf</a>
One of my professor's is working on an almost identical idea with his research team. A parallel ML implementation. They call it "Manticore"<p><a href="http://manticore.cs.uchicago.edu/" rel="nofollow">http://manticore.cs.uchicago.edu/</a>
This sounds really cool.<p>I'd like to see indepth articles about how it achieves this, state of product, etc, etc. Comparisons with other languages on various benchmarks would be nice too. Maybe the Shootout.
This is very interesting.<p>I am experimenting with programming language design and implementation at the moment and linear types is something I was considering - I am trying to implement the language runtime in a dataflow model anyway and I felt linear types would be a good match. I didn't do any work on it though because I'm not sure how to implement it, but perhaps this language will give me some ideas.