stepcut / plugins

Dynamic linking and runtime evaluation of Haskell, and C, including dependency chasing and package resolution.
GNU Lesser General Public License v2.1
52 stars 17 forks source link

NOTE: This README is now very out of date.


                        hs-plugins

Compiler and tool support for compiling and loading, and evaluating Haskell at runtime.

The library provides a convenient interface to GHC's runtime loader and linker, letting you load compiled Haskell code.

It also provides a `make' system for compiling plugin source automagically and for combining the user's .hs file with a stub of standard declarations and syntax, saving the user from having to write standard code themselves.

It provides an `eval' function, for generating new, well-typed, compiled code from a Haskell source string.

It also provides a new variation of printf for Haskell-- a runtime generated, dynamically-typed printf.

Read the documentation in doc/ for more.


BUILDING: $ chmod +x Setup.lhs configure $ ./Setup.lhs configure --prefix=/usr/local $ ./Setup.lhs build $ ./Setup.lhs install


DEPENDENCIES:




EXAMPLES:

Have a look in the testsuite/ directory for many examples of how to arrange your code.

LICENSE:

This library is distributed under the terms of the LGPL. The runtime loader code is based on code written by André Pang, and others, and is distributed under the BSD-style Glasgow University license.

PORTABILITY:

Requires GHC 6.4 or greater, though most testing has be done on 6.4. The dynamic loader requires a functional GHCi implementation.

---------------------+-------------------------------------------------- Platform | Works Should work Unknown Won't work ---------------------+-------------------------------------------------- i386--linux | X i386--freebsd | X i386--openbsd | X
powerpc-apple-darwin | X
powerpc--linux | X
sparc-
-solaris2 | X
ia64--linux | # i386--solaris2 | X sparc--linux | X sparc--openbsd | X i386--netbsd | X amd64--openbsd | X mips64-sgi-irix | X ---------------------+--------------------------------------------------

.hi file parsing is currently broken