summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-02-09disabled ad hoc overloading, as it still causes mysterious errors. It is ↵aarne
just a few lines in Rename.hs
2014-02-09updated haskell-bind/READMEkr.angelov
2014-02-09cleanup the code for the FFI binding. The API is now more uniform with the ↵kr.angelov
Python and the Java bindings. Fixed a lot of memory leaks.
2014-02-09GuVariant is now plain uintptr_t instead of a structure to make it easier to ↵kr.angelov
write Haskell bindings
2014-02-07pgf-shell: show the names of the concrete syntaxes after loading the grammarhallgren
2014-02-07haskell-bind: add function languagesinari
2014-02-07pgf-shell: enable -rtsopts, call performGC between commandshallgren
This is to make it easier to find the cause of space leaks.
2014-02-06fixed some memory leaksinari
2014-02-05bugfix in the recognizer for literals in the C runtimekr.angelov
2014-02-04PGF.Optimize: one more fix for unsafeFreezehallgren
2014-02-04PGF.Optimize: import unsafeFreeze from Data.Array.Unsafe for compatibility ↵hallgren
with ghc-7.8
2014-02-04GFC.hs: encodeFile_ is not available in the standard Data.Binaryhallgren
2014-02-01new overload resolution, taking care of ad hoc overloading.aarne
2014-02-01ad hoc overloading: a new way to deal with name resolution conflicts. ↵aarne
Previously the renamer warned if there was e.g. an unqualified reference to mkAdv, which could come from either Syntax or Paradigms. The renamer picked randomly one of the alternatives, which then often failed in type checking. Now, all candidates are collected into a new structure AdHocOverload [Term], which is accessed by the type checker to make the choice based on the type of the constant. This eliminates some of the warnings and some of the error due to wrong choices. In some rare cases, the inherited constants have the same type, which cannot be resolved by overloading. In such cases, the type checker does the same as the renamer did before: pick the "first" option (i.e. the one that happens to be the first in the list returned by the renamer) and issues a warning. In this patch, only a couple of lines are changed. The typechecker (RConcrete) has more substantial changes, and will be recorded as the next patch.
2014-01-31typo in Concrete type checker: when type checking <e : t>, return annotated ↵aarne
e and not e itself. Fixed in RConcrete, which should soon replace Concrete; and hopefully will be replaced by some cleaner code soon, such as ConcreteNew which has been under construction for quite some time.
2014-01-31experimental type checker module GF.Compile.TypeCheck.RConcrete.hs with ↵aarne
record updates enabled by ** expressions. Can be changed back to Concrete.hs by just changing one import command in GF.Compile.CheckGrammar.hs. The worst thing that *should* happen with the new type checker is that some old code is detected to be invalid, which happens if it contains a type-incompatible record extension, e.g. {x = "foo"} ** {x = 1}. Previously such errors were silently ignored. A set of test runs detected one such error in the RGL, which was corrected. On the positive side, the new type checker now enables record updates in the natural way: R ** {x = 1} will give value x = 1 overshadowing any value of x in R (provided the expected type of x is Int). lib/src/experimental/PredicationSwe.gf illustrates this, as opposed to PredicationSwO.gf which has to use old-style copying of even the unchanged record fields.
2014-01-31gf-server.cabal: flag to include C run-time support in the FastCGI PGF servicehallgren
2014-01-31fix in the bracketedLinearize in Haskellkr.angelov
2014-01-29changes to pools in haskell bindingsinari
2014-01-28Wide coverage translation web demo improvementshallgren
+ Add lexing/unlexing + Add a button to swap input and output + Minor layout adjustments
2014-01-27PGFService.hs: fix a type ambiguity when compiling without C run-time supporthallgren
2014-01-27PGFService.hs: add a cache for C run-time parse result and a start offset ↵hallgren
parameter Cached parse results are discarded when they have been unused for 10 minutes.
2014-01-27gf -server: fix a redirection bug...hallgren
...that was introduced with the recent changes to the handling of the current working directory
2014-01-24gf -server: allow multiple PGF service requests to be handled in parallelhallgren
PGF service requests are stateless and can run in parallel, but some other requests handled by the server are not and might even change the current working directory temporarily, and this affects all threads, so it is important that the PGF service requests access PGF files by absolute paths.
2014-01-24fix in the Haskell runtimekr.angelov
2014-01-21simple translator: Replaced 'GF Robust Parser' with 'GF Wide Coverage ↵hallgren
Translation' The interface to the wide coverage translation is in js/gftranslate.js and it assumes that the grammar is installed on the cloud server as /robust/Translate8.pgf. The list of supported languages is hardwired in gftranslate.js, since there is no support for obtaining this info from the C run-time system at the moment.
2014-01-20Optionally include C run-time supporthallgren
If the C run-time library is compiled and installed on your system, you can now do 'cabal configure -fc-runtime' to get the following extras: + The haskell binding to the C run-time library will be included in the PGF library (so you can import it in Haskell applications). Documentation on the new modules will be included when you run 'cabal haddock'. + The new command 'pgf-shell', implemented on top of haskell binding to the C run-time system. + Three new commands in the web API: c-parse, c-linearize and c-translate. Their interfaces are similar to the corresponding commands without the "c-" prefix, but they should be considered preliminary.
2014-01-20haskell-bind: add an export list to hide internal stuffhallgren
It also makes the generated haddock documentaiton more structured.
2014-01-17haskell-bind.cabal: relax overly restrictive version bounds and add cc-optionshallgren
2014-01-17haskell-bind: add a cabal file and examples/pgf-shell.hshallgren
* The haskell-bind.cabal file makes it easy to build the haskell binding and use it in ghci. * pgf-shell.hs is a simple example of how to use the haskell binding.
2014-01-17haskell-bind: change the type of CRuntimeFFI.getConcrhallgren
Change the type of getConcr from getConcr :: PGF -> Language -> Concr to getConcr :: PGF -> Language -> Maybe Concr This is to prevent programs from crashing later if you try to select a concrete syntax that is not present in a grammar.
2014-01-09Check file datestamp before creating PGF file when compiling grammarshallgren
When running a command like gf -make L_1.gf ... L_n.gf gf now avoids recreating the target PGF file if it already exists and is up-to-date. gf still reads all required .gfo files, so significant additional speed improvements are still possible. This could be done by reading .gfo files more lazily...
2014-01-09Check file datestamps before unioning PGF files (fix)hallgren
Also check that no additional output formats have been selected.
2014-01-09Check file datestamps before unioning PGF fileshallgren
When running a command like gf -make -name=T L_1.pgf ... L_n.pgf gf now checks if T.pgf exists and is up-to-date before reading and computing the union of the L_i.pgf files. The name (T) of the target PGF file has to be given explicitly for this to work, since otherwise the name is not known until the union has been computed. If the functions for reading PGF files and computing the union were lazier, this would not be necessary...
2013-12-18PGFtoPython: add Python translations for nonExist, BIND and SOFT_BINDhallgren
Someone who is familiar with the Python translation should check this.
2013-12-17src/server/gf-server.cabal: compile it as a common library + executableshallgren
2013-12-17bugfix in the android keyboard for the choice of languagekr.angelov
2013-12-17show progress bar when translating or when reloading a language in the ↵kr.angelov
lexical activity
2013-12-17bugfix for grammar loading if the start and the target language happen to be ↵kr.angelov
the same
2013-12-17partial grammar loading in the android app. From now on grammars for Android ↵kr.angelov
shall be compiled with -split-pgf
2013-12-17make sure that pgf_concrete_load has no effect on grammars that are ↵kr.angelov
completely loaded
2013-12-17Add backward compatibility for reading old PGF fileshallgren
Some backwards incompatible changes were made to the PGF file format after the release of GF 3.5. This patch adds a module for reading PGF files in the old format. This means that old PGF files on the grammaticalframework.org server will continue to work after we install the latest version of GF.
2013-12-16GF.Compile.ReadFiles: reduced code duplicationhallgren
2013-12-17ParseFin ProDrop variants ; ParseFre question word order and pronoun gender ↵aarne
variants
2013-12-13started DocumentationFreaarne
2013-12-10allow the android app to be installed on the SD cardkr.angelov
2013-12-10move src/runtime/haskell/CRuntimeFFI to src/runtime/haskell-bind. Don't mess ↵kr.angelov
up with the stable Haskell runtime!
2013-12-10load/unload in the Java bindingkr.angelov
2013-12-10Haskell bindings for the C runtimeinari
Added Haskell bindings for the C runtime. Work in progress, the files are not (and should not be) included in makefiles or anything.
2013-12-10loading and unloading of languages in the C runtime and in the Python bindingskr.angelov