Besides the FFI option, I know that Haskell has pretty good Lua bindings [1] and Lua has pretty good Java bindings [2] so perhaps the law of transitivity can work for you! -deech
[1] http://hackage.haskell.org/package/hslua-0.2 [2] http://www.keplerproject.org/luajava/manual.html On Mon, Jul 19, 2010 at 10:09 PM, Max Cantor <mxcan...@gmail.com> wrote: > I use Apache Thrift, as someone else mentioned for IPC with some java code > that connects to a third party data vendor. As of version 0.2, there are > some bugs that you need to be aware of. > > However, and possibly more of interest to you, I have already written a FIX > implementation in pure haskell. Its not exactly shippable code but it works > fine for me. Its not as full featured as quick fix but its fine for single > orders. > > Since you seem to be in a similar line of work to me (using haskell for > finance/trading) perhaps we shoudl have a chat. Get me on gtalk at this > address. > > Max > > On Jul 9, 2010, at 8:11 PM, Daniel Cook wrote: > >>> A simpler solution might be Facebook's thrift [1] >> >> This is a very interesting solution. I'll investigate Thrift further, >> but it may wind up being what I do. Does anyone know how solid this >> code is in Haskell? >> >>> the Java binary directly from Haskell using System.Process and friends, and >>> rather than communicating over ports, communicate over pipes. >> >> Cool! This is probably a second step, though - first get the code >> working, then worry about >> making it all fast. >> >> >> On Fri, Jul 9, 2010 at 5:11 AM, sterl <s.clo...@gmail.com> wrote: >>> Daniel Cook wrote: >>>> >>>> b) Wrap the Java library with some code to use a lightweight message >>>> queue (zeromq) to send messages to my Haskell program? (This would >>>> require essentially re-implementing an abstracted subset of the the >>>> protocol into 0MQ messages) >>> >>> A simpler solution might be Facebook's thrift [1] (now an Apache project). >>> You write a simple file in a C-inspired IDL which gives typedefs and RPC >>> signatures, and not only do you get the data structures and serialization >>> functions in a number of target languages including Haskell and Java, but >>> you get lightweight, relatively robust, server and client implementations. >>> The implementations of the Java functions can then be written in Scala or >>> Clojure, so you avoid having to leave fp-land entirely. One could even run >>> the Java binary directly from Haskell using System.Process and friends, and >>> rather than communicating over ports, communicate over pipes. In any case, >>> I've had good luck with this approach. >>> >>> Cheers, >>> Sterl. >>> >>> [1] http://incubator.apache.org/thrift/ >>> >> _______________________________________________ >> Haskell-Cafe mailing list >> Haskell-Cafe@haskell.org >> http://www.haskell.org/mailman/listinfo/haskell-cafe > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe