[Haskell-cafe] ANNOUNCE: Salsa: A .NET Bridge for Haskell

Andrew Appleyard andrew.appleyard at gmail.com
Fri Oct 10 08:12:33 EDT 2008

I'd like to announce the first release of Salsa, an experimental Haskell
library that allows Haskell programs to access .NET libraries.

Here's a taste:

   > type Hello.hs
   import Foreign.Salsa
   import Bindings

   main = withCLR $ do
       _Console # _writeLine ("Hello .NET World!")

   > type Hello.imports
   System.Console: WriteLine

   > msbuild
   > .\hello
   Hello .NET World!

Salsa operates by loading the .NET runtime into your Haskell process and 
using the FFI (and run-time code generation) to marshall calls between 
the .NET and Haskell runtimes.  It includes a code generator and a 
type-level library (which uses type families) to provide type-safe 
access to .NET libraries in Haskell with C#-style method overload 
resolution and implicit conversions.

The adventurous can find version of Salsa on Hackage [1], the 
darcs repository on code.haskell.org [2], and some (limited) 
documentation on the Haskell wiki [3].

The library is experimental and by no means complete (refer to the wiki 
page [3] for some of its limitations).  Be prepared to end up with 
incomprehensible error messages and/or a broken compiler! :-)

At the moment you'll need Windows, GHC 6.8, and version 3.5 of the .NET
Framework to use it.

Have fun!

[1] http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Salsa
[2] http://code.haskell.org/Salsa
[3] http://haskell.org/haskellwiki/Salsa


More information about the Haskell-Cafe mailing list