[Haskell-cafe] Re: Libraries for Commercial Users
wren ng thornton
wren at freegeek.org
Sun Oct 11 20:54:29 EDT 2009
Patrick LeBoutillier wrote:
>>> Having painless Haskell <- Java interoperability would be great. I'm
>>> curious though: could it really be so simple as a one-line ``import
>>> foreign jvm'' directive? I imagine the purity mismatch between
>>> Haskell and Java would be very troublesome.
>> No more so than C, surely. We're used to stateful APIs. They're a pain.
>>> With this hypothetical ``import foreign jvm'' mechanism, what would
>>> the be type of imported Java stuff? Would it all be done in IO?
>>> The more I think about it, the trickier it seems. Beside the purity
>>> mismatch of Haskell and Java, there is an OO/functional mismatch.
>> That's more of an issue. But the prior work has been done.
> Do you have any references to this work?
It was a major research topic about a decade ago, though the projects
have died since. And the topic comes up about every 4 months on the
Cafe, so I'd recommend sifting through the archives. I know last time it
came up (or the time before?) I gave a rather extensive list of
projects. And the wiki still lists a few of them.
The last time this discussion came up people got involved enough to
revive LambdaVM, which was one of the more mature options back in the
day. If you're interested in the topic, I suggest getting in touch with
the author and helping out.
On the topic of automatically embedding OO-style languages into Haskell,
you should also check out hprotoc. It's a package for Google's
protocol buffers, which are ostensibly language agnostic but actually
assume a (weakly) OO language. The hprotoc library will create a family
of virtual modules based on the protocol spec and makes a pretty nice
interface out of them.
More information about the Haskell-Cafe