[Haskell-cafe] Lazy language on JVM/CLR
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.
More information about the Haskell-Cafe