summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-10-30a more efficient tail call by using the new TUCK instructionkr.angelov
2014-10-28Use terminfo to highlight warnings and errors in blue and redhallgren
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.
2014-10-28Show paths relative to the current directory in progress reportshallgren
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...
2014-10-28A couple of haddock documentation improvementshallgren
2014-10-26an explicit SAVE instructionkr.angelov
2014-10-24comment out a few assertions in bits.h. this code is run too often to have ↵kr.angelov
explicit assertions
2014-10-24make it possible to specify the initial size of a map in libgukr.angelov
2014-10-24simplify gu/mapkr.angelov
2014-10-24fix memory leak in the pgf-parse toolkr.angelov
2014-10-24add extern declarations for all inline functions in seq.h. this ensures that ↵kr.angelov
everything works even when the compiler's optimizations are off
2014-10-23a simple optimization in cmp_item_prob with great effect on the parser's speedkr.angelov
2014-10-23remove some deadcode in gu/seq.hkr.angelov
2014-10-23inline a number of functions in gu/seq.c. this has a noticeable effect on ↵kr.angelov
the parser's speed
2014-10-23a cosmetic optimization in mem.ckr.angelov
2014-10-23fix the debug mode in the reasonerkr.angelov
2014-10-23fix warning in ucs.ckr.angelov
2014-10-22Various small changes for improved documentationhallgren
2014-10-22CAPIT is now naturally supported in the C runtimekr.angelov
2014-10-22add Unicode classification routines to libgu. ported from the base package ↵kr.angelov
in Haskell.
2014-10-22an explicit PUSH_FRAME instructionkr.angelov
2014-10-22make the fields of BracketedString in the Python binding read/writekr.angelov
2014-10-21ModuleName and Ident are now distinct typeshallgren
This makes the documentation clearer, and can potentially catch more programming mistakes.
2014-10-21Renaming SourceGrammar to Grammar and similarly for some related typeshallgren
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)
2014-10-20use of 'head' in TypeCheck/RConcrete created an uncomprehensible error ↵aarne
message. Now checking for the emptiness of the list concerned, so that the error can be found.
2014-10-20Some small documentation improvementshallgren
2014-10-20type IOE a = IO ahallgren
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.
2014-10-20Remove some dead codehallgren
* 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.
2014-10-20get rid of gu/str.(c|h)kr.angelov
2014-10-19(un)lexmixed: added the other math environments than $ used in latexaarne
2014-10-17ps -lines preserves line-by-line structure when preprocessing files for ↵aarne
parsing line by line
2014-10-17one general case in dealing with backslash in latex lexing is enoughaarne
2014-10-17the C runtime now supports reading and writing expressions with indexed meta ↵kr.angelov
variables. The type checker generates fresh indices
2014-10-17unlexing latex code: no space between closing $ and punctuationaarne
2014-10-17lexer for latex code: don't separate backslash from the macro name that it marksaarne
2014-10-16Some work on the haddock documentationhallgren
2014-10-16Rename src/programs/gf.hs to gf-main.hs to avoid confusing GHChallgren
It appears that GHC can't keep GF.hs and gf.hs apart on systems with case insensitive file names.
2014-10-16Turn the GF compiler into a library. Main program is now in src/programs/gf.hshallgren
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.
2014-10-16More haddock documentation improvementshallgren
2014-10-16bugfix in the parser for abstract expressions in the C runtimekr.angelov
2014-10-16finally proper stack unwind in the evaluatorkr.angelov
2014-10-15Rename modules GFI, GFC & GFServer...hallgren
... to GF.Interactive, GF.Compiler & GF.Server, respectively.
2014-10-15Fixes for the haddock documentationhallgren
2014-10-14the compiler now allows + to be used as a floating point addition in the ↵kr.angelov
abstract syntax
2014-10-14yet another bugfix in the byte codekr.angelov
2014-10-14another bugfix in the byte code generationkr.angelov
2014-10-14bugfix in the bytecode generatorkr.angelov
2014-10-14simplify jit_bare_retkr.angelov
2014-10-09Prelude.CAPIT is now a built-in primitive. It still generates &| in the ↵kr.angelov
Haskell runtime but will be intepreted in the C runtime
2014-10-09throw away the long obsolete runtime type information in the C runtimekr.angelov
2014-10-09fix two warnings in mem.ckr.angelov