summaryrefslogtreecommitdiff
path: root/src/runtime/haskell-bind/PGF2.hsc
AgeCommit message (Collapse)Author
2016-05-30fix in the Haskell binding: functionType should throw error if the function ↵krasimir
is not defined
2016-05-11the Literals API in Haskell no longer offers the sentence as an argument to ↵krasimir
the callbacks. It is just as easy to save the sentence in a closure and by doing that we save the repeated round about from C to Haskell strings
2016-05-11many of the uses of peekCString and withCString in the Haskell binding were ↵krasimir
incorrect since they encode the string in the system locale while the C runtime is always using UTF8
2016-05-10fix the offset for oracles in Haskellkrasimir
2016-05-10an API for oracles in the GF parserkrasimir
2015-12-20added a primitive full-text search index in libsg. This can be use for ↵krasimir
finding an abstract tree whose linearization matches given keywords
2015-11-19added mkInt and mkFloat in the Haskell binding to make it easy to create ↵krasimir
literal expressions
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-04-27use a temporary pool for linearizeAll in Haskell tookrasimir
2015-04-27make linearizeAll in the Haskell binding lazykrasimir
2015-04-17added linearizeAll in the Haskell bindingskrasimir
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
2014-05-08fix memory leak in the Haskell bindingkr.angelov
2014-04-04fix the haskell binding to handle parse errorskr.angelov
2014-03-12haskell-bind: comment out superfluous importshallgren
2014-02-10proper error checking in the C runtimekr.angelov
2014-02-09cleanup the code for the FFI binding. The API is now more uniform with the ↵kr.angelov
Python and the Java bindings. Fixed a lot of memory leaks.