| Age | Commit message (Collapse) | Author |
|
compiling grammars
For example, you can add -optimize-pgf:
http://localhost:41296/cloud?dir=...&command=remake&-optimize-pgf=&Foods2Eng.gf=&Foods2Swe.gf=
|
|
|
|
Unlike the other web apps in the cloud, the translation quiz was configured
to use the grammars at http://www.grammaticalframework.org/grammars.
|
|
|
|
This had been bugging me for ages!
|
|
|
|
collectPattOp :: (Patt -> [a]) -> Patt -> [a]
|
|
collection for the chart
|
|
For Patt, analogous to composOp for Term.
|
|
Also add a missing check for Predef values in apply.
|
|
Just to make them easier to spot when wading through thousands of lines of
warnings...
|
|
Also improve the documentation of the responses to the upload and make
commands.
|
|
grammars
Also remove some old commented out code.
|
|
Simplify the implementation of writeUTF8File and use it in one more place.
Remove unused imports left over after a previous change.
|
|
apps
Aarne says the Chinese resource grammar is complete, but not yet completely
correct.
|
|
There was 55 lines of rather repetitive code with calls to 6 compiler passes.
They have been replaced with 19 lines that call the 6 compiler passes
plus 26 lines of helper functions.
|
|
compiler passes
|
|
... to avoid unnecessary recompilation of other modules.
|
|
Also fixed two small problems with public grammars.
|
|
|
|
This helps avoiding problems if an inherited grammar is renamed, or if there
is more than one grammar with the same name.
|
|
The output from commands is represented as ([Expr],String), where the [Expr] is
used when data is piped between commands and the String is used for the final
output. The String can represent the same list of trees as the [Expr] and/or
contain diagnostic information.
Sometimes the data that is piped between commands is not a list of trees, but
e.g. a string or a list of strings. In those cases, functions like fromStrings
and toStrings are used to encode the data as a [Expr].
This patch introduces a newtype for CommandOutput and collects the functions
dealing with command output in one place to make it clearer what is going on.
It also makes it easier to change to a more direct representation of piped
data, and make pipes more "type safe", if desired.
|
|
|
|
|
|
|
|
Avoid showing a blank page if there is an unexpected problem with the grammars
in localStorage.
|
|
This enables the use of arbitrary Unicode character in text mode in GFSE.
|
|
Moved similar low-level code blocks in Main and GFI for setting the console
encoding to the new module GF.System.Console.
|
|
To make the popup menus accessible, use a simple trick to activate the
simulate-hovering-by-tapping behaviour.
|
|
"Edit/Add a segment..." stopped working at some point.
(Importing text still worked.)
|
|
|
|
the row view
Functional programming is easier than imperative programming!
|
|
|
|
When adding a new function, you can enter a linearization for one language
and then copy it to the other languages with one button click.
|
|
|
|
|
|
views
|
|
Accessed by clicking on a function in the Abstract column in the matrix view.
|
|
+ You can click on a column header to switch to column view (i.e. the
corresponding abstract/concrete syntax tab).
+ The categories and functions in the abstract syntax can be edited directly
in the matrix view.
|
|
|
|
missing
|
|
|
|
+ In the PGF web service API, the commands parse, translate and translategroup
now accept a limit parameter. It limits the number of parse trees returned.
If no limit is given, the behaviour is backwards compatible, i.e. no limit
is applied.
+ In minibar, the limit is now set to 25 by default.
This change is based on a suggestion by Kaarel Kaljurand.
|
|
+ Added "Symbolic" to the list of resource modules that can be opened.
+ Clicking on the name of an opened resource module now displays the list
operations it provides. (Implemented using show_operations in the GF shell.)
+ Added a GF version info link to the cloud service start page.
|
|
Adding a lock field to the result type of linearization functions.
TODO: figure out how to add a lock field to the argument types too.
|
|
This is a simple change in GF.Grammar.Lookup.allOpers, which is used only in
the implementation of the show_operations command in the shell.
This is useful when importing a concrete syntax (like LexiconEng) as a resource.
However, the types don't always look as nice as I hoped...
|
|
Line breaks were missing when capturing stdout. (putStrLn acted like putStr.)
|
|
GF version info can now be obtained from http://localhost:41926/version
Also removed some unused imports.
|
|
+ The restrictions on arbitrary IO when GF is running in restricted mode is now
enforced in the types.
+ This hopefully also solves an intermittent problem when accessing the GF
shell through the web API provided by gf -server. This was visible in the
Simple Translation Tool and probably caused by some low-level bug in the
GHC IO libraries.
|
|
The SIO monad is a restriction of the IO monad with two purposes:
+ Access to arbitrary IO operations can be turned off by setting the environment
variable GF_RESTRICTED. There is a limited set of IO operations that are
considered safe and always allowed.
+ It allows output to stdout to be captured. This can be used in gf -server
mode, where output of GF shell commands is made part of HTTP responses
returned to clients.
|