1
0
forked from GitHub/gf-core
Commit Graph

159 Commits

Author SHA1 Message Date
Krasimir Angelov eaf9f0c3ac the C runtime now supports the same customizations for GraphViz as the Haskell runtime 2017-08-31 10:58:49 +02:00
Krasimir Angelov cd53269f96 bugfix for hasLinearization in the Haskell binding 2017-08-30 18:11:59 +02:00
Krasimir Angelov 7db9f51d78 "ma" command in the C shell 2017-08-30 16:35:57 +02:00
Krasimir Angelov 75efcbd280 added tabularLinearizeAll in the Haskell binding 2017-08-30 16:18:07 +02:00
Krasimir Angelov 08a728799a change tabularLinearize in the Haskell binding to return a list instead of map this preserves the order 2017-08-30 15:59:43 +02:00
Krasimir Angelov 97fe5df267 added the concreteName function in the Haskell binding 2017-08-30 15:43:09 +02:00
Krasimir Angelov b7b7a7c91c the embedded grammars now work with both the pure Haskell and the Haskell binding API 2017-08-29 18:44:50 +02:00
Krasimir Angelov 20b72f477a added bracketedLinearize in the Haskell binding 2017-08-29 11:58:12 +02:00
Krasimir Angelov d4026a64f4 tabularLinearize in the Haskell binding 2017-08-28 15:09:34 +02:00
krasimir ca891c912b a binding to the sentence lookup from Haskell 2017-05-12 09:32:25 +00:00
krasimir 2588a6f016 gu_string_buf -> gu_new_string_buf in libgu 2017-04-13 13:43:48 +00:00
krasimir e369427990 update SG.hsc 2017-04-12 11:55:27 +00:00
krasimir 94f41cc63d safer memory management in the Haskell binding 2017-02-10 17:10:37 +00:00
krasimir 0e49c28e5b API for computing the Haskell binding 2017-01-26 18:41:07 +00:00
krasimir 1cea621216 use throwIO instead of throw in a few placed 2017-01-26 18:40:36 +00:00
krasimir af1a581f40 type checking API in the Haskell binding 2017-01-26 14:09:07 +00:00
krasimir 24671a612c a better implementation for PGF2.categories 2017-01-26 13:37:12 +00:00
krasimir 77b84fdbcd forgot to add src/runtime/haskell-bind/PGF2/Type.hsc 2017-01-26 13:00:22 +00:00
krasimir 3467a54965 bring the Haskell binding a bit closer to the pure Haskell API 2017-01-26 12:48:22 +00:00
krasimir 17163ae881 copy the types for BracketedString from the Haskell runtime to the Haskell bindings 2017-01-26 10:31:43 +00:00
krasimir 6af632dd18 added mkMeta and unMeta in the Haskell binding 2017-01-26 10:17:02 +00:00
krasimir be43d5dfdc added mkAbs and unAbs in the Haskell binding 2017-01-26 10:04:42 +00:00
krasimir a06e0b6b6f more startCat to the Types section in the Haddock documentation for the Haskell binding 2017-01-26 06:41:27 +00:00
krasimir 14b32a115c add unStr,unInt and unFloat in the Haskell binding 2017-01-26 06:40:13 +00:00
krasimir db0f8b0dce improve the documentation for PGF2 2017-01-25 20:30:54 +00:00
krasimir 6de9636ff2 add functionsByCat in the Haskell binding 2017-01-25 10:44:08 +00:00
krasimir 8d3464dfb0 bugfix in the Haskell binding 2017-01-25 10:37:34 +00:00
krasimir ed1e60f633 fix in the Haskell binding: functionType should throw error if the function is not defined 2016-05-30 17:15:09 +00:00
krasimir 86c5423275 the Literals API in Haskell no longer offers the sentence as an argument to 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-11 11:10:22 +00:00
krasimir 9abc6aadde many of the uses of peekCString and withCString in the Haskell binding were incorrect since they encode the string in the system locale while the C runtime is always using UTF8 2016-05-11 07:11:45 +00:00
krasimir 403e080273 fix the offset for oracles in Haskell 2016-05-10 19:41:44 +00:00
krasimir 80a96b3a85 an API for oracles in the GF parser 2016-05-10 17:11:39 +00:00
krasimir 3f0fe438cd a prototype for complex queries over expressions in libsg 2016-04-29 14:06:24 +00:00
krasimir 8dda2dfbff added API for reading a list of tuples in the SG module 2015-12-22 13:50:01 +00:00
krasimir bef9d8c5fc added a primitive full-text search index in libsg. This can be use for finding an abstract tree whose linearization matches given keywords 2015-12-20 14:04:52 +00:00
krasimir 79ea4af960 added readTriple in libsg and its Haskell binding 2015-11-25 10:37:13 +00:00
krasimir 9f9b23d0dd added mkInt and mkFloat in the Haskell binding to make it easy to create literal expressions 2015-11-19 13:18:19 +00:00
hallgren 82f238fe2b haskell-bind/SG.hsc: fix unsafePerformIO import problem with ghc>=7.8 2015-09-14 11:42:42 +00:00
hallgren e5ec343f4f PGF2.Expr: a fix for ghc-7.6
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-10 15:07:48 +00:00
krasimir d83316d7c6 add readTriple in the Haskell binding 2015-09-08 13:04:31 +00:00
krasimir 0b392e8cff the Haskell binding now covers everything in the libsg API 2015-09-04 10:02:42 +00:00
hallgren 829e1bbfd3 PGF2.Expr fixes
It needs to be listed in gf.cabal
unsafePerformIO is only exported from System.IO.Unsafe, starting with ghc-7.8
2015-09-03 20:41:00 +00:00
krasimir 73b41687c8 added the minimal Haskell API for storing expressions/triples in the semantic graph 2015-09-02 07:12:36 +00:00
hallgren 330d42296c PGF2: export BindType(..) and two new functions: showType & categories
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-20 15:55:24 +00:00
hallgren 8d6e61a8df gf -cshell: preliminary support for the C run-time system in the GF shell
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-08-10 14:12:51 +00:00
krasimir aa6b6d3155 fixed missing do in the Haskell binding 2015-07-12 15:37:45 +00:00
krasimir b3680b6025 merge the states for reasoning and evaluation into a single structure 2015-07-03 11:53:52 +00:00
krasimir 22773909bf add function 'functions' in the Haskell binding to the C runtime 2015-06-30 20:42:19 +00:00
krasimir 616a24cba4 the NERC in C is now fully up-to-date with the other NERCs. In addition the NERC in Haskell and Java now refuses to recognize names that match words in the lexicon. The latest is useful for German 2015-05-19 07:26:56 +00:00
krasimir ce05465365 the callbacks in C now take the concrete syntax as a parameter 2015-05-18 14:41:33 +00:00