[Haskell-cafe] Re: Libraries for Commercial Users

Simon Peyton-Jones simonpj at microsoft.com
Tue Oct 13 08:43:18 EDT 2009

There is no difficulty in principle with Haskell on JVM.  There are, however, some obstacles in practice, as this page describes:


The way stands open for someone with design taste, knowledge of the JVM, and sustained willingness to roll up sleeves, to make a significant contribution.


| -----Original Message-----
| From: haskell-cafe-bounces at haskell.org [mailto:haskell-cafe-bounces at haskell.org] On
| Behalf Of wren ng thornton
| Sent: 12 October 2009 01:54
| To: Haskell Cafe
| Subject: Re: [Haskell-cafe] Re: Libraries for Commercial Users
| Patrick LeBoutillier wrote:
| > Don,
| >
| >>> 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[1] still lists a few of them.
| The last time this discussion came up people got involved enough to
| revive LambdaVM[2], 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[3]. 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.
| [1]
| http://www.haskell.org/haskellwiki/Applications_and_libraries/Interfacing_other_lang
| uages
| [2] http://wiki.brianweb.net/LambdaVM/LambdaVM
| [3] http://hackage.haskell.org/package/hprotoc
| --
| Live well,
| ~wren
| _______________________________________________
| Haskell-Cafe mailing list
| Haskell-Cafe at haskell.org
| http://www.haskell.org/mailman/listinfo/haskell-cafe

More information about the Haskell-Cafe mailing list