| Age | Commit message (Collapse) | Author |
|
|
|
This replaces the hardwired ANSI escape codes that were accidentally included
in a previous patch.
This adds a dependency on terminfo, but this should be unproblematic, since
haskeline already depends on the same underlying C library.
The color highlighting is omitted on Windows.
|
|
It is much nicer to see something like
- compiling FoodsSwe.gf... write file FoodsSwe.gfo
- compiling FoodsTha.gf... write file FoodsTha.gfo
- compiling FoodsTsn.gf... write file FoodsTsn.gfo
- compiling FoodsTur.gf... write file FoodsTur.gfo
- compiling FoodsUrd.gf... write file FoodsUrd.gfo
linking ... OK
Writing Foods.pgf...
instead of
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsSwe.gf... write file /Users/hallgren/src/GF/gf/examples/foods/FoodsSwe.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTha.gf... write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTha.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTsn.gf... write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTsn.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsTur.gf... write file /Users/hallgren/src/GF/gf/examples/foods/FoodsTur.gfo
- compiling /Users/hallgren/src/GF/gf/examples/foods/FoodsUrd.gf... write file /Users/hallgren/src/GF/gf/examples/foods/FoodsUrd.gfo
linking ... OK
Writing Foods.pgf...
|
|
|
|
|
|
explicit assertions
|
|
|
|
|
|
|
|
everything works even when the compiler's optimizations are off
|
|
|
|
|
|
the parser's speed
|
|
|
|
|
|
|
|
|
|
|
|
in Haskell.
|
|
|
|
|
|
This makes the documentation clearer, and can potentially catch more
programming mistakes.
|
|
Included renamings:
SourceGrammar -> Grammar
SourceModule -> Module
SourceModInfo -> ModuleInfo
emptySourceGrammar -> emptyGrammar
Also introduces a type synonym (which might be good to turn into a newtype):
type ModuleName = Ident
The reason is to make types like the following more self documenting:
type Module = (ModuleName,ModuleInfo)
type QIdent = (ModuleName,Ident)
|
|
message. Now checking for the emptiness of the list concerned, so that the error can be found.
|
|
|
|
IOE used to be a monad with extra error handling built on top of the IO monad,
But the IO monad already supports error handling, so this construction was a
superfluous.
The new 'instance ErrorMonad IOE' is defined to preserve the previous error
handling behaviour, i.e. the function 'handle' only catches errors thrown with
'raise' (or 'fail') and not other errors in the IO monad.
|
|
* The following modules are no longer used and have been removed completely:
GF.Compile.Compute.ConcreteLazy
GF.Compile.Compute.ConcreteStrict
GF.Compile.Refresh
* The STM monad has been commented out. It was only used in
GF.Compile.SubExpOpt, where could be replaced with a plain State monad,
since no error handling was needed. One of the functions was hardwired to
the Err monad, but did in fact not use error handling, so it was turned
into a pure function.
* The function errVal has been renamed to fromErr (since it is analogous to
fromMaybe).
* Replaced 'fail' with 'raise' and 'return ()' with 'done' in a few places.
* Some additional old code that was already commented out has been removed.
|
|
|
|
|
|
parsing line by line
|
|
|
|
variables. The type checker generates fresh indices
|
|
|
|
|
|
|
|
It appears that GHC can't keep GF.hs and gf.hs apart on systems with case
insensitive file names.
|
|
The module src/compiler/GF.hs now serves as a prelimiary compiler API. It just
exports a selection of functions and types from the compiler.
Haddock documentation can be generated with
cabal haddock --hyperlink-source
Also bumbed the version number to 3.6.10.
|
|
|
|
|
|
|
|
... to GF.Interactive, GF.Compiler & GF.Server, respectively.
|
|
|
|
abstract syntax
|
|
|
|
|
|
|
|
|
|
Haskell runtime but will be intepreted in the C runtime
|
|
|
|
|