What is it?
A preprocessor and library which allow you to create dynamic libs
from arbitrary annotated Haskell programs with one click. It also
allows you to use the generated lib in C, C++ and C# just by including
the generated header files.
At a minimum it can be considered the inverse of c2hs.
Where to get it?
You can get it from Hackage
(http://hackage.haskell.org/package/Hs2lib) or by using cabal
(cabal install Hs2lib).
Documentation, Mailing List, Source, etc
Go to https://mistuke.wordpress.com/category/hs2lib/ for information.
Or for a tutorial http://www.scribd.com/doc/63918055/Hs2lib-Tutorial
– Currently Supported:
* Autogerates free functions for any StablePtr used.
* Added support for memory leak tracing with the –debug flag
* Fixed a bug in the library that caused an error in marshalling
* No longer frees strings, in order to prevent heap corruptions on
calls from c#
* Fixed an issue with lists and type synonyms
* Fixed an alignment issue with stdcall
* Renamed the hs2c# pragma to hs2cs
* Fixed an error in parsing pragmas
* Fixed a majot marshalling bug having to do with lists of pointer types
* Started on an implementation of an automatic test generator to test
* Re-arranged the namespaces generated in C#. Now Functions and types are
put in different namespaces.
– Not Currently supported:
* Infix constructors
* Control over the autogenerated free functions for StablePtr
* Exporting of type/functions with the same name in different modules
* Exporting polymorphic functions
A more detailed documentation will follow in the next few weeks.
Why is the first version 0.4.8?
This project has been in development for a very long time. Nearly two
years on and off.
It was developed mainly to facilitate the creation of Visual Haskell
2010. This is just the first public release of this tool.