[Haskell-cafe] Lazy language on JVM/CLR

Tom Davies tgdavies at gmail.com
Tue Feb 9 23:24:37 EST 2010


On 10/02/2010, at 2:52 AM, Tim Wawrzynczak wrote:

> Oops, you're right.  It's not pure.  Mea cupla for not reading more closely.  I wonder how it deals with I/O, then?  I don't see anything like Haskell's monads or Clean's uniqueness typing...  but at a closer look it does appear to have an excellent Java FFI.
> 
> On Tue, Feb 9, 2010 at 9:44 AM, Chris Eidhof <chris at eidhof.nl> wrote:
> I don't think it's pure. I would definitely use a pure language on the JVM, but IIRC Open Quark / Cal is an impure language. For example, from the library documentation: "printLine :: String -> ()".

CAL is pure as long as you don't call Java functions with side effects, or functions like printLine -- rather like avoiding unsafePerformIO in Haskell. For my experimentation I use my own IO monad implementation, but you can generally use `seq` to control when IO happens.

The Java FFI is good, although arguably verbose.

Tom


More information about the Haskell-Cafe mailing list