summaryrefslogtreecommitdiff
path: root/src/runtime/haskell-bind/PGF2.hsc
AgeCommit message (Collapse)Author
2017-01-26use throwIO instead of throw in a few placedkrasimir
2017-01-26type checking API in the Haskell bindingkrasimir
2017-01-26a better implementation for PGF2.categorieskrasimir
2017-01-26bring the Haskell binding a bit closer to the pure Haskell APIkrasimir
2017-01-26copy the types for BracketedString from the Haskell runtime to the Haskell ↵krasimir
bindings
2017-01-26added mkMeta and unMeta in the Haskell bindingkrasimir
2017-01-26added mkAbs and unAbs in the Haskell bindingkrasimir
2017-01-26more startCat to the Types section in the Haddock documentation for the ↵krasimir
Haskell binding
2017-01-26add unStr,unInt and unFloat in the Haskell bindingkrasimir
2017-01-25improve the documentation for PGF2krasimir
2017-01-25add functionsByCat in the Haskell bindingkrasimir
2017-01-25bugfix in the Haskell bindingkrasimir
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...