1
0
forked from GitHub/gf-core
Commit Graph

6412 Commits

Author SHA1 Message Date
hallgren
35a237d8cf Minor edit of GF 3.7.1 release notes 2015-10-02 09:34:20 +00:00
hallgren
42f7b77708 Some work on the release notes and download page for GF 3.7.1. 2015-10-01 12:57:31 +00:00
hallgren
3c90f664f7 bin/build-binary-dist.sh: fix hardcoded /usr install path for .pkg packages. 2015-10-01 12:49:55 +00:00
hallgren
f89cf16d25 Makefile: make pkg: change install location from /usr to /usr/local
...for compatibility with OS X 10.11 El Capitan (which was released yesterday)
2015-10-01 08:39:35 +00:00
hallgren
13a8515164 cc -trace: don't try to show the bodies of lambda abstractions
This triggers evaluation of terms with free variables, which the partial
evaluator isn't equipped to handle.

Reported by Aarne.
2015-09-30 10:30:19 +00:00
krasimir
5faa99e89d added bracketedLinearizeAll in Python 2015-09-30 08:35:09 +00:00
hallgren
bd421aff7b download/release-next.t2t: preliminary release notes for GF 3.7.1
To be released as soon as possible...
2015-09-29 20:15:51 +00:00
hallgren
1ccdd0d9fd GF source lexer: allow numeric character escapes in string literals
This makes the output from PGF.showExpr (and other Haskell code that uses
the Prelude.show function to show strings) parsable as GF source code in
more cases.

This is a workaround for the problem that GHC's implementation of the show
function uses numeric escapes for printable non-ASCII characters, e.g.
show "dålig" = "d\229lig"...
2015-09-29 12:18:35 +00:00
hallgren
35be182824 Preliminary new shell feature: cc -trace.
You can now do things like 

	cc -trace mkV "debug"

to see a trace of all opers with their arguments and results during the
computation of mkV "debug".
2015-09-28 22:23:56 +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
af309f0d7d doc/gf-developers.t2t: script name for installing the C run-time was wrong, should be setup.sh 2015-09-14 11:19:29 +00:00
hallgren
b66cbcac5e doc/gf-developers.t2t: some updates 2015-09-14 09:24:10 +00:00
hallgren
95d2b67556 WebSetup.hs: always enable parallel compilation of the RGL and the example grammars
This should work nicely now that GF itself can detect the number of processors
in the system.

Previously there was some code in WebSetup.hs that relied on Cabal to do this,
but it was commented out because it requires Cabal>=1.20, which is fairly new
and it would complicate the installation instructions if it was required to
compile GF...
2015-09-11 15:15:53 +00:00
hallgren
bde7347045 Remove debug output introduced in previous patch
Oops.
2015-09-11 14:46:31 +00:00
hallgren
9556cf453f Parallel compilation: "gf -make -j" and "gf -make -j=n" now work as expected
* "gf -make -j=n" uses n parallel threads.
  * "gf -make -j" adapts to the number of processors in the system.

This mimics how "cabal build -j" and "ghc --make -j" works.

Support for this is implemented in the new module GF.System.Concurrency and
it depends on the function Control.Concurrent.setNumCapabilities, which is
only available in GHC>=7.6 (base>=4.6). GF can still be compiled with
GHC<7.6, but then you have to use +RTS -N -RTS to take advantage of
multicore processors.

To detect the number of processors in the system, the code depends on a
foreign import of a C function in the GHC run-time system.
2015-09-11 14:18:01 +00:00
krasimir
ef888baec8 fix the debug mode in the tree generator in the C runtime 2015-09-11 09:26:17 +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
hallgren
fe3dfd7cc4 example/foods/FoodsIce.gf: converted from Latin-1 to UTF-8 encoding 2015-09-10 12:37:12 +00:00
krasimir
d83316d7c6 add readTriple in the Haskell binding 2015-09-08 13:04:31 +00:00
krasimir
b5e7f08c82 bugfix in the parser 2015-09-08 09:42:42 +00:00
krasimir
ea83efa79c fix the metadata for sg databases 2015-09-04 16:34:40 +00:00
krasimir
3d60ce06bb storage for literals in libsg 2015-09-04 14:45:18 +00:00
thomas
76e4e65337 src/pgf-binary: reimplementation of GF's customized Data.Binary on top of the standard binary packages
This reduces the amount of duplicated code from 2400 to 490. No code from
data-binary-ieee754 is duplicated.

The module is called PGF.Data.Binary instead of Data.Binary. It is not
in use yet.
2015-09-04 12:58:29 +00:00
krasimir
206e38028f libsg is now accessible on android 2015-09-04 11:18:21 +00:00
krasimir
8cc7ccf80b API for triple queries from Java 2015-09-04 11:03:46 +00:00
krasimir
0b392e8cff the Haskell binding now covers everything in the libsg API 2015-09-04 10:02:42 +00:00
krasimir
e9f7aa0e33 the new triples API in libsg now always works with expressions 2015-09-04 10:01:19 +00:00
hallgren
32f18b515e GF shell: write_file now writes one tree per line
This compensates for other changes that removed line breaks.
Maybe it should have a -lines options like ps and rf?
2015-09-03 20:42:38 +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
3328dd1f8d Java API for opening/closing SG databases 2015-09-03 13:52:32 +00:00
krasimir
c322e686a0 bugfixes in libsg 2015-09-03 13:24:13 +00:00
krasimir
7064181860 the Eclipse project for the Java binding is now replaced with a simple Makefile 2015-09-03 10:27:50 +00:00
krasimir
e97e377b05 silence compilation warnings in the Java binding 2015-09-03 10:11:23 +00:00
krasimir
ef90fa4abe API for transactions in libsg 2015-09-02 13:01:23 +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
krasimir
4a1da62d84 bugfix in libsg 2015-09-02 06:55:39 +00:00
hallgren
0449784427 Wide coverage translation demo: make it easier to use with different grammars 2015-09-02 14:44:30 +00:00
krasimir
66454d844a added code for visualization of the sematic graph in the app. The code is there but the menu item for activating it is not there yet since the functionality is not complete 2015-09-01 08:00:56 +00:00
hallgren
1c86783e17 GF.Infra.SIO: The SIO monad now supports putStr in addition to putStrLn
Also included some unrelated minor changes.
2015-08-31 12:22:13 +00:00
krasimir
9a58afe121 still partial implementation for complex queries in libsg, and added sg.h which I had forgotten to include in darcs 2015-08-31 07:15:20 +00:00
hallgren
5bfaf10de5 Comment out some dead code found with -fwarn-unused-binds
Also fixed some warnings and tightened some imports
2015-08-28 13:59:43 +00:00
krasimir
f2952768d5 query for triples and cleaner API 2015-08-27 15:18:51 +00:00
hallgren
128236eab9 GF shell: change parse & linearize to obtain useful results from p|l and l|p in more cases
These changes are inspired by the gf -cshell implementation of these commands.

The output of the linearize command has been changed to remove superfluous
blank lines and commas, and deliver the result as a list of strings instead of
a single multi-line string. This makes it possible to use -all and pipe the
results to the parse command. This also means that with -treebank -all,
the language tag will be repeated for each result from the same language.

The parse command, when trying to parse with more than one language, would
"forget" other results after a failed parse, and thus not send all
successful parses through the pipe. For example, if English is not the first
language in the grammar,

    p "hello" | l

would output nothing, instead of translations of "hello" to all languages,
forcing the user to write

   p -lang=Eng "hello" | l

instead, to get the expected result. The cause of this behaviour was in the
function fromParse, which was rather messy, so I assume it is not intentional,
but the result of a programming mistake at some point.

The fromParse function has now been refactored from a big recursive function
into 

    fromParse opts = foldr (joinPiped . fromParse1 opts) void

where the helper functions fromParse1 deals with a single parse result and
joinPiped combines multiple parse results.
2015-08-26 13:56:23 +00:00
krasimir
32d5d4b52f added libsg in the C runtime 2015-08-24 09:36:51 +00:00
krasimir
e43608eca0 retrieval of a triple 2015-08-21 16:31:43 +00:00
krasimir
17a572dda6 API for storing triples in the semantic graph 2015-08-21 16:13:03 +00:00
hallgren
c25705519a GF shell bug fix: visualize_parse didn't accept the -lang flag
Even though the -lang flag was handled in the implementation, it was not
documented, and GF.Command.Interpreter rejects undocumented flags:

	option not interpreted: lang

This must be a fairly old bug, so it suggests that the vp command isn't used
much...
2015-08-21 12:20:40 +00:00
hallgren
e178615338 GF -cshell: implement visualize_parse
Supported options and flags: -lang -format -view
None of the rendering options available in the Haskell run-time are supported.
2015-08-21 12:14:47 +00:00
krasimir
d1b46ece28 add a type signature in GF.Interactive2 to make ghc-7.6.3 happy 2015-08-21 11:58:32 +00:00
hallgren
026d6a73ad gf -cshell: implement visualize_tree
But the following options are not supported: -mk -nocats -nofuns
2015-08-21 10:14:46 +00:00