Commit Graph

158 Commits

Author SHA1 Message Date
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
krasimir
3649412ce2 use a temporary pool for linearizeAll in Haskell too 2015-04-27 19:39:16 +00:00