From 0851308099f625bb451f80e62e33137df199322f Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 10 Dec 2013 16:11:47 +0000 Subject: move src/runtime/haskell/CRuntimeFFI to src/runtime/haskell-bind. Don't mess up with the stable Haskell runtime! --- src/runtime/haskell-bind/README | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/runtime/haskell-bind/README (limited to 'src/runtime/haskell-bind/README') diff --git a/src/runtime/haskell-bind/README b/src/runtime/haskell-bind/README new file mode 100644 index 000000000..64b6b7276 --- /dev/null +++ b/src/runtime/haskell-bind/README @@ -0,0 +1,32 @@ +This is a work in progress, but usable as it is now. +Some memory leaks and segfaults to be expected. + + +The files are + +CRuntimeFFI.hsc -- user-friendly functions, almost the same as in the real Haskell PGF library. +Gu.hsc -- mindlessly copypasted functions from various files in gu/ +PgfLow.hs -- mindlessly copypasted functions from various files in pgf/ + +The first two files (.hsc) use some special constructions for accessing C objects from Haskell. +See the syntax here: http://www.haskell.org/ghc/docs/7.2.1/html/users_guide/hsc2hs.html + +HOW TO COMPILE: + +hsc2hs Gu.hsc CRuntimeFFI.hsc -v --cflag="-std=c99" && ghc -lpgf -lgu --make CRuntimeFFI + +HOW TO USE: + +- Symlink or copy the files in this directory to the directory you're working with; these files are not included in any makefiles +- Import CRuntimeFFI to a Haskell program you're writing + + module Main where + import CRuntimeFFI + +- Use the functions in your program + + main = do + pgf <- readPGF "Foo.pgf" + let english = getConcr pgf (mkCId ("FooEng")) + +I haven't managed to make it work in ghci, get errors about unknown symbols (low level C functions). -- cgit v1.2.3