Commit Graph

8462 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