pre22, Aug 12 2002
  - new modules
    + Xml (wrapper for libxml-2)
    + Stack (mutable stack (implemented as list for now))
    + Hashtbl
    + Hacks (contains unsafe functions)
  - new functions
    + Std::abort()
    + gont_id(), gont_hash_string()
    + String::hash() (alias to gont_hash_string())
    + List::rev(), List::nil(), List::cons(), List::exists(), List::find()
    + global symbols Stdio::std{in,out,err}
    + Stdio::{input,output}_* family of functions for serialization
    + String::{contains,index}_str{,_from} and String::split
    + String::{lower,upper}case_char(), String::{,un}capitalize()
    + Array::resize()
  - library changes
    + allow spaces before in Int64::of_string
    + always bzero memory after obtaining it from GC, it doesn't seem to do so
    + fixed Stdio::fputs to use fwrite(), not fputs()
    + added Stdio::fwrite alias for Stdio::fputs
    + fixed String::blit and String::concat
  - compiler changes
    + bugfix: non-function symbols from other modules weren't usable
    + added -ldopt compiler option working in both linker and archiver
      modes; options from -ldopt when making archives are saved for
      link time
    + allow \t, \" and \' escape sequences
    + optimize calls to external functions not to use closures
    + don't generate (return (modify (result) ...)) in functions
      returning void
    + added '!' operator
    + fixed chini of try blocks
    + use ksi version 1
    + use hopefully non-cyclic data for created structures hash table
      (numerous hacks here :<)
    + fixed prototyping current function
    + bugfix: let with multiple assignments were broken badly
    + remove .go file if compilation didn't succeed
    + fixed bug with structure allocation (all structures were assigned 4 
      bytes of memory, sigh!)
    + != on strings was working like ==
    + in [x, y] = [1, 2] x and y *are* initialized
    + fixed issue with try/with and return in case ...
    + fixed try {} with code generation; is some cases pop_try_block() wasn't 
      called
	  
pre21, Jun ?? 2002
  - added && and || operators
  - added char type and String module
  - new Stdio module
  - new Sys module (just argv inside for now)
  - new Array module
  - allowed stmts, not only blocks in let ... in bindings
  - several fixes for abstract types
  - changed internal formal of string to be faster
  - some fixes in ciface
  - less restrictive rules for {} in 'if else'

pre20, May 27 2002
  - added -ciface switch to dump C header for given gont module
  - new syntax for lambda expressions:
      - fun t (t1 n1, ...) { ... }
      - fun t (t1 n1, ...) (...)
    - and function types:
      - *t (t1 [n1], ...)
      - *(t (t1 [n1], ...))
    - old syntax fun ... -> ... is ... removed
    - old syntax *(....) -> ... removed
  - interfacing with C is now easier:
      c_foo.c:
        void gont_foo_bar(int, struct gont_string *) { ... }
      foo.gi
        void foo(int, string) = "gont_foo_bar";
  - added Int64 module with basic operations on 64 bit numbers
  - some bugfixes (abstract types, named types equality)

pre19, Feb ?? 2002 
[really released in at May 27 2002, but there was no changes since Feb 2002]
  - implemented assignment to structure field
  - relaxed rules about putting [] after union expressions and union patterns
  - relaxed rules about superfluous semicolons at the toplevel, they are
    now allowed everywhere
  - .go files are now generated:
      - no need to export_as "main" anymore
      - section init { ... } code is executed upon initialization of
        module
      - section fini { ... } -- go figure :)
      - one needs now to link .go files (not .o as before)
      - exceptions should work
  - documentation: added Unix manpage for gontc, FAQ and Manual (mainly
    from c2gont.tex, that is now removed)
  - OptStruct is now properly checked if it's not null
  - +., *. etc are removed, +, *, / and - are now used by both ints and
    floats. + can be also used to concatenate strings.
  - fixed pattern matching to work on strings
  - ==, <= etc now supported on strings
  - Stdc module removed
  - std library extended, Std module now contains most of what it is
    supposed to contain, except file i/o
  NOTE: ksi-pre48 is required

pre18, Feb 20 2002
  - implemented structures (but no pattern-matching on structures yet)
  - garbage collector is now linked in (if you have it)
  - runtime environment is now correctly split into libraries
  - Std and Stdc modules are now open at the beginning of each compilation
    unit
  - Gonttree interface-only module introduced
  - got rid of symbol class (replaced by record)
  - much fixes in interface compilation, and modules in general
  - several interface files can be now stored in one archive file
  - break & continue, labeled loops
  - ++/--
  - int a, b, c, d; is now possible
  - other bugfixes :)
  - exceptions are in parser and parts of compiler already, but 
    *THEY DOESN'T WORK*
  NOTE: ksi-pre46 is required!
  
pre17, Feb 12 2002
  - let stmt
  - pattern exhaustive checks
  - variable initialization checks
  - cleanups and bugfixes, as usual
  
pre14, Jan 28 2002
  - unions
  - polymorphic unions
  - pattern matching
  - so many bugfixes, I can't count them all ;)
  
pre13, Dec 03 2001
  - type_walk wasn't properly walk down through the type term recursively,
    fixed.
  - yet another fix to polymorphic functions, in 'a f('a x) { ... } 'a ain't 
    polymorphic variable.
  - added tests script in t/, now we are able to produce some nice tests
    that should fail, should output something and so on.
  - fixed print_string() to write to fd 1 (stdout) instead of fd 0 (stdin).

pre12, Nov 29 2001
  (from now on we start very detailed changelogs)
  - more comments
  - made ksi_stmt always return expression of Ksi.Void type -- hence 
    conversion for Ksi.Cond (aka Gontutil.If) is not required anymore
  - catch Invalid_argument errors from map2 in typechecking, convert them
    to human readable messages
  - semicolons are required after function prototype and global variables
    again... I guess there are not needed, but parser is unable to split
    declarations then :<
  - hacker.tex update -- added coding style section
  - t/* compiles
  - added few fixes for polymorphic functions, however they are still 
    broken... :<

pre11, Nov 27 2001
  - made it compile

pre10, Nov 27 2001
  - total rewrite of typesystem
  - added copyright note to each source file

pre8, Nov 24 2001
  - docs translated to LaTeX

pre7, Nov 22 2001
  - some initial work on structures, unions and tuples, they will be all
    considered subtypes on the content basis, not the name
  - now we produce line number information for debugger
  
pre6, Nov 21 2001
  - fixed string and floats handling, it is possible that they will work
    now :)

pre4, Nov 21 2001
  - README file updated, items added:
    - info about differences between Gont and Caml, SML and Popcorn
    - example about closures
    - chapter about datatypes representation, and more about passing 
      conventions
  - new bug and optimization possibility added to TODO

pre3, Nov 20 2001
  - runtime rewritten to C
  - added exceptions support basics to runtime
  - added proposed COPYRIGHT
  - makefile/mkdist cleanups
