[Haskell-cafe] Serialising data between Haskell and C#

Clinton Mead clintonmead at gmail.com
Mon Mar 12 23:06:47 UTC 2018

Hi All

I want to integrate Haskell into an existing C# project, initially by
creating one C# class that basically does all it's "work" in Haskell (and
just provides a C# interface).

There will be a few types passed in and out of this Haskell module from/to
C#. On the C# side, there are classes with members, who's types are
probably going to be either Strings, Ints, or lists of Strings/Ints, or
lists of other objects.

I'd like to have the same types on the Haskell side.

It would be nice if I could just magically pass one of these C# types to
Haskell and on the Haskell side it will appear as a Haskell type

I assume what I'll have to do is serialise the type on the C# side and
deserialise on the Haskell side.

C# allows one to serialise any data type to XML. Haskell has plenty of
serialisation libraries as well.

However, the problem I presume is that if I just serialise to XML on the C#
side, and deserialise from XML on the Haskell side, if my types are just
slightly different, or even if the exact serialisers/deserialises represent
their data in different ways, it isn't going to work.

It seems like passing complex data to/from Haskell may be a common problem
other people experience, so I'm looking for any suggestions on a clean way
of doing this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180313/19acb72a/attachment.html>

More information about the Haskell-Cafe mailing list