summaryrefslogtreecommitdiff
path: root/src/runtime/haskell-bind
AgeCommit message (Collapse)Author
2015-09-14haskell-bind/SG.hsc: fix unsafePerformIO import problem with ghc>=7.8hallgren
2015-09-10PGF2.Expr: a fix for ghc-7.6hallgren
Apparently Foreign.unsafePerformIO is not just a re-export of System.IO.Unsafe.unsafePerformIO (or vise versa), it is a different function, so you get an ambiguity if you import both.
2015-09-08add readTriple in the Haskell bindingkrasimir
2015-09-04the Haskell binding now covers everything in the libsg APIkrasimir
2015-09-03PGF2.Expr fixeshallgren
It needs to be listed in gf.cabal unsafePerformIO is only exported from System.IO.Unsafe, starting with ghc-7.8
2015-09-02added the minimal Haskell API for storing expressions/triples in the ↵krasimir
semantic graph
2015-08-20PGF2: export BindType(..) and two new functions: showType & categorieshallgren
showType :: Type -> String categories :: PGF -> [Cat] But both are implemented as quick hacks: categories is implemented by listing all functions and taking the target categories from their types. showType uses ppType copied & modified from PGF.Type, and needs a ppExpr, which is currently implemented by wrapping showExpr... TODO: need something correpsonding to PGF.categoryContext.
2015-08-10gf -cshell: preliminary support for the C run-time system in the GF shellhallgren
Some C run-time functionality is now available in the GF shell, by starting GF with 'gf -cshell' or 'gf -crun'. Only limited functionality is available when running the shell in these modes: - You can only import .pgf files, not source files. - The -retain flag can not be used and the commands that require it to work are not available. - Only 18 of the 40 commands available in the usual shell have been implemented. The 'linearize' and 'parse' commands are the only ones that call the C run-time system, and they support only a limited set of options and flags. Use the 'help' commmands for details. - A new command 'generate_all', that calls PGF2.generateAll, has been added. Unfortuntaly, using it causes 'segmentation fault'. This is implemented by adding two new modules: GF.Command.Commands2 and GF.Interactive2. They are copied and modified versions of GF.Command.Commands and GF.Interactive, respectively. Code for unimplemented commands and other code that has not been adapted to the C run-time system has been left in place, but commented out, pending further work.
2015-07-12fixed missing do in the Haskell bindingkrasimir
2015-07-03merge the states for reasoning and evaluation into a single structurekrasimir
2015-06-30add function 'functions' in the Haskell binding to the C runtimekrasimir
2015-05-19the NERC in C is now fully up-to-date with the other NERCs. In addition the ↵krasimir
NERC in Haskell and Java now refuses to recognize names that match words in the lexicon. The latest is useful for German
2015-05-18the callbacks in C now take the concrete syntax as a parameterkrasimir
2015-04-27use a temporary pool for linearizeAll in Haskell tookrasimir
2015-04-27make linearizeAll in the Haskell binding lazykrasimir
2015-04-21some translate.probs decreased ; fine-tuning in pgf-hsbind-transaarne
2015-04-20fix in the Haskell binding for Windowskrasimir
2015-04-17pgf-hsbind-trans now with linearizeAllaarne
2015-04-17pgf-shell.hs: remove call to performGC and document the 'i' commandhallgren
2015-04-17added linearizeAll in the Haskell bindingskrasimir
2015-04-16simplified the example translator and renamed it to pgf-hsbind-trans aarne
2015-04-15extended pgf-shell functionalities: batch translation with many trees, and ↵aarne
intervening context-dependent tree manipulation
2015-03-19haskell-bind: add bindings to graphviz rendering functions for ↵hallgren
abstract&parse trees
2015-02-18fix the missmatch between Int and CInt in the Haskell binding to the word ↵krasimir
alignment API. This was causing problems on 64-bit machines
2015-02-18fix the callback for unknown words as wellkrasimir
2015-02-18fix in the callback for names in the Haskell bindingkrasimir
2015-01-30added hasLinearization in the Haskell bindingkr.angelov
2015-01-21PGF2: fixes for named entity callback functionhallgren
2015-01-21PGF2 & PGFService: enable callbacks for named entities and chunks in the ↵hallgren
c-parse & c-translate web requests
2015-01-21fix conflictskr.angelov
2015-01-20added functionType in the Haskell API to the C runtimekr.angelov
2015-01-20PGF2 & PGFService: work in progress on callbacks for nerc & chunkshallgren
2015-01-20PGF2: introduced some type synonyms to make type signature more readablehallgren
2014-12-29API for word alignment in the C runtime and in the Haskell bindingkr.angelov
2014-12-19bugfix and tiny optimization for callbacks from Haskellkr.angelov
2014-12-19haddock comments for parseWithHeuristicskr.angelov
2014-12-19added mkStr to the Haskell bindingkr.angelov
2014-12-19added mkApp to the Haskell bindingkr.angelov
2014-12-16fix in the Haskell bindingkr.angelov
2014-12-16forgot to export parseWithHeuristics from Haskellkr.angelov
2014-12-16change in the API for literalskr.angelov
The API in the C runtime as well as in the Haskell, Python and Java binding is changed. Now instead of adding the literal callbacks to the concrete syntax you need to supply them every time when you need to parse. The main reason is: - referentially transparent API for Haskell - when we start using memory mapped files we will not be allowed to change anything in the grammar data structures. At that point the old API would be impossible to use.
2014-10-09throw away the long obsolete runtime type information in the C runtimekr.angelov
2014-09-22haskell-bind/PGF2.hsc: unexport functions that break referential transparencyhallgren
loadConcr, unloadConcr and addLiteral modify the Concr structure as a side effect. This means that other functions with a Concr argument (e.g. parse and linearize) are no longer pure. Possible solutions: 1. Don't try to hide the imperative nature of the C run-time system: remove all uses of unsafePerformIO and let all functions operate in the IO monad. 2. Don't export functions with side effects. Perhaps the desired functionality of loadConcr, unloadConcr and addLiteral can be folded into readPGF. The Concr structures can then treaded as immutable after after the readPGF function returns...
2014-09-10now release the FunPtr:s that are allocated for each literal callbackkr.angelov
2014-09-10added an API for custom literals in the Haskell bindingkr.angelov
2014-09-10added loadConcr/unloadConcr to the Haskell binding. This exposes an API for ↵kr.angelov
loading grammars compiled with -split-pgf
2014-06-16fixed memory leak in the Haskell binding to the C runtimekr.angelov
2014-06-12PGF library: expose only PGF and PGF.Internal instead of all moduleshallgren
PGF exports the public, stable API. PGF.Internal exports additional things needed in the GF compiler & shell, including the nonstardard version of Data.Binary.
2014-06-10PGF2.hsc: use throwIO instead of throwhallgren
From the documentation: the throwIO variant should be used in preference to throw to raise an exception within the IO monad because it guarantees ordering with respect to other IO operations, whereas throw does not. Also removed some unused imports.
2014-05-13Haskell binding: free memory pool to avoid space leak when readPGF failshallgren