[Haskell-cafe] Talking to Java from Haskell?

Max Cantor mxcantor at gmail.com
Mon Jul 19 23:09:46 EDT 2010


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.clover at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



More information about the Haskell-Cafe mailing list