| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
The dependency on PGFEnv has been moved from the list to the exec function of
the commands in the list. This means that the help command no longer needs
to generate a new list of commands and that the state of the shell
(type GF.Command.Interpreter.CommandEnv) no longer needs to contain the list
of commands.
|