Hacker News new | past | comments | ask | show | jobs | submit login
Disciple: A Strict Dialect of Haskell (ouroborus.net)
58 points by primodemus on Feb 19, 2011 | hide | past | favorite | 18 comments



There is quite a lot of Haskell dialects... the last one listed here was Atomo (http://atomo-lang.org/) and now another contender. Or simply put Haskell the language is also good at hosting dialects.


Atomo isn't a Haskell dialect - it's another language. The first implementation is written in Haskell, but other than that there's no relation.


Atomo's an EDSL in Haskell. I think I'd have to consider Clojure to be a Java dialect by your definition.


I guess I've mistaken the stand-point in that, my bad!


Color me interested. Pragmatism where destructive array updates are concerned is a boon for the numerical stuff I'm interested in.


Remember that regular Haskell has pragmatic destructive arrays as well (e.g. repa, vector, hmatrix).

The primary interesting thing about DDC, in my view, is the effect types -- the type system can infer what kind of monadic effects you're using.


Yeah, I guess I came off as slurring Haskell a little bit. Sorry. Could you point me to any resources on how to use Haskell for numeric stuff? I've been thinking of doing a blog series on neutron transport with either Haskell or Common Lisp, but I'd like to peruse a few examples of idiomatic Haskell numerics before shooting my mouth off.


My colleague, Matt Sottile, has a nice blog on languages, functional programming, and scientific (often numerical) computing, http://syntacticsalt.com/


From a quick look through, the current type system and semantics seems to have more in common with an ML dialect than Haskell (though its syntax and long term intended type system style does resemble haskell's more closely)


How is this different to Clean? (a much older Haskell/research variant, see http://wiki.clean.cs.ru.nl/Clean)


Haskell first appeared 2/3 years after Clean. The right description is more like 'Haskell and Clean are the twin Free offspring of the lazy FP language Miranda, which unfortunately was proprietary; they both have different but related approaches to being pure'.


Ok, didn't realize that timing. There is a Haskell/Clean crosscompiler I believe too.


From the descriptions, Clean is lazy and pure, whereas Disciple is neither.


According to Sabry's criteria for pure languages: 1. it is a conservative extension of the simply typed λ-calculus. 2. it has a well-defined call-by-value, call-by-need, and call-by-name evaluation functions (implementations), and 3. all three evaluation functions (implementations) are weakly equivalent.

Disciple is pure. This is argued in the first chapter of Ben Lippmeier's thesis: http://www.cse.unsw.edu.au/~benl/papers/thesis/lippmeier-imp...


I have quite a few ML-loving friends who might be into this...


I thought Haskell was a strict dialect of Haskell.


The "strict" refers to the fact it's not lazily evaluated.


I suspect the GP is referring to Haskell's ability to use strict evaluation via language features like the ! operator. (though I could be wrong)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: