2004-0?-?? Luca Saiu <positrone@freemail.it>
    Updated S-expression support.
    Started rewriting epsilonyacc from scratch.
    Updated epsilonlex to be compatible with the forthcoming epsilonyacc.
    Current ugly compiler: added from_array..to_array.
    epsilon library: updated encoding and associative_array.

2003-12-24 Luca Saiu <positrone@freemail.it>
    Added --verbose-gc to evm and executables generated by epsilonc; the
    macros VERBOSE and VERY_VERBOSE in eam/gc/gc.c are not needed anymore,
    and it's easier to make gc benchmarks.
    Library: implemented fold_right.
    Library: added S-expression support.
    epsilonlex: updated for compliance with the new lexicon.
	
2003-11-25 Luca Saiu <positrone@freemail.it>
    simple_graphics: implemented draw_line, fixed a bug which prevented
    the INT signal to have effect.
    epsilonc scanner: now '[' and ']' can be used in identifiers.
    epsilonc: fixed infix operators; the compiler is still a crazy mess.
    bignums: binary operators which are usually infix are now infix.
	
2003-11-07 Luca Saiu <positrone@freemail.it>
    C libraries: implemented random.c using libC calls.
    C libraries: started an SDL binding. Started simple_graphics.ep[i,b].
    Added a screen hack as an example.

2003-10-22 Luca Saiu <positrone@freemail.it>
    C libraries and dynamic libraries are perfectly working, but they still
    lack documentation.
    Implemented bignums, using the GNU Multiple Precision library.

2003-10-10 Luca Saiu <positrone@freemail.it>
    Started C libraries and dynamic libraries.

2003-10-07 Luca Saiu <positrone@freemail.it>
    Now string-maps can have keys of any length. Fixed all uses.
    Written the basic infrastructure for dynamic libraries management.

2003-10-06 Luca Saiu <positrone@freemail.it>
    Fixed a bug in the epsilon scanner which prevented C++-style comments at
    the end-of-file without a newline. Used a rough hack, but the current
    compiler will be dropped.
	
2003-09-28 Luca Saiu <positrone@freemail.it>
    Fixed a bug in 'from..to' (an exception was not thrown on s from 0 to k).
    Implemented stack type.
    Added a polish-notation calculator as an example.
    Implemented trimming function in the library.
	
2003-09-27 Luca Saiu <positrone@freemail.it>
    Fixed automake machinery: now epsilonc can generate machine code
    executables without having any .c or .h files in the current directory.

2003-09-26 Luca Saiu <positrone@freemail.it>
    Fixed an old scanner bug: some uses of tabs were incorrectly
    forbidden.
    epsilonc --verbose now shows some more information.
	
2003-09-12 Luca Saiu <positrone@freemail.it>
    Implemented mutually recursive concrete types with a rough hack.
    Updated documentation.

2003-09-12 Luca Saiu <positrone@freemail.it>
    Updated documentation.
    Fixed a bug in the Automake machinery: now the machine-generated
    prefixes.h are automatically deleted on make clean and (for the target
    directory) on make dist.
    
2003-09-08 Luca Saiu <positrone@freemail.it>
    Implemented initial command-line support.
    Moved the implementation of some eAM instructions into reusable functions in
    eam/library/.

2003-09-05 Luca Saiu <positrone@freemail.it>
    Implemented the basic eAM float instructions. The compiler already
    generated the right opcodes.

2003-09-04 Luca Saiu <positrone@freemail.it>
    fatal exceptions: upon exit the location of the error in the source is now
    shown. This considerably eases debugging.
    epsilonc parser: now sequences are parsed with left-recursion instead of
    right-recursion; large arrays generated by epsilonlex do not cause
    parser stack overflow anymore. Same change for eamlas parser.

2003-09-02 Luca Saiu <positrone@freemail.it>
    epsilonlex rewritten from scrath; the new implementation is much cleaner
    and much faster than the old one.
    Added an example (the knight problem from game theory).
    Now --benchmark also works for the generated C programs.
    Writing support for files was implemented (a character at a time, by now).
    Fixed a bug in the code generator, still emitting an LVM opcode (!),
    which prevented the use of postfix operators.

2003-08-25 Luca Saiu <positrone@freemail.it>
    Added --benchmark to evm. Switched timing reports off by default.

2003-08-07 Luca Saiu <positrone@freemail.it>
    Fixed a buglet in eampo: the number of modifications written to the
    output was wrong.

2003-08-03 Luca Saiu <positrone@freemail.it>
    Fixed an error in compiler/epsilonparser.y, which caused bug #4589.
    All the cases of sibling/tail call should now be recognized and
    optimized.

2003-07-31 Luca Saiu <positrone@freemail.it>
    Added the eAM instruction 'lbl to fix a bug in the peephole
    optimizer which made it output incorrect  code in some cases.

2003-07-30 Luca Saiu <positrone@freemail.it>
    The 'let' construct is now compiled using two new eAM instructsions.
    This enables more peephole optimizations.

2003-07-29 Luca Saiu <positrone@freemail.it>
    Fixed a small type inference bug, maybe innocuous in "debug".
    Started mu-basic.

2003-07-10 Luca Saiu <positrone@freemail.it>
    epsilonc can now generate native code, calling the C compiler.

2003-06-26 Luca Saiu <positrone@freemail.it>
    Implemented I/O exceptions.
    Added a Brainfuck interpreter as an example.

2003-06-24 Luca Saiu <positrone@freemail.it>
    Fixed some latent bugs, exposed by compiling on a 64-bit platform.
    I wish to publicly thank Thomas A. Cort for running tests and for
    making me debug epsilon on his GNU/Linux UltraSparc machine.

2003-06-21 Luca Saiu <positrone@freemail.it>
    Added eam-config, a small program which outputs some configuration
    parameters of the eAM.

2003-06-10 Luca Saiu <positrone@freemail.it>
    Reimplemented AVL trees in a much cleaner way; a bug preventing correct
    rebalance upon insertion is thus fixed.
	
2003-05-31 Luca Saiu <positrone@freemail.it>
    Added some eAM instructionss, and updated the peephole optimizer to
    introduce them.

2003-05-05 Luca Saiu <positrone@freemail.it>
    Started epsilonyacc.
    Hackish implementation of synonym types, to be trashed together with the
    current compiler written in C.

2003-04-23 Luca Saiu <positrone@freemail.it>
    Started an Autotest testsuite

2003-04-19 Luca Saiu <positrone@freemail.it>
    The eAM gc is now pseudo-generational (I will explain what this means in
    the manual); it's interfaced with the virtual machine, but not yet with the
    generated C programs.
    Implemented the peephole optimizer, automatically called by epsilonc; the
    peephole optimizer allows detection of sibling calls.
    Moved some files which should have already been in aux/ into aux/.
    Added config.guess and config.sub. Other Autoconf/Automake updates.
	
2003-04-14 Luca Saiu <positrone@freemail.it>
    The new eAM garbage collector works, and interfacing it with the virtual
    machine and with the generated C code should not be hard.

2003-03-26 Luca Saiu <positrone@freemail.it>
    Moved all definitions of xmalloc() and xrealloc() into common/malloc.[c,h].

2003-03-26 Luca Saiu <positrone@freemail.it>
    mulisp greatly enhanced.

2003-03-24 Luca Saiu <positrone@freemail.it>
    Fixed minor bugs in epsilonc and in the eAM.

2003-03-24 Luca Saiu <positrone@freemail.it>
    Added a parser and a rough REPL to mulisp.

2003-03-23 Luca Saiu <positrone@freemail.it>
    epsilonlex is now working and usable.

2003-03-22 Luca Saiu <positrone@freemail.it>
    Added the eAM instruction s_jnm and updated the compiler to generate it,
    to make pattern-matching faster.

2003-03-20 Luca Saiu <positrone@freemail.it>
    Updated assertions support and added the "impossible" construct; both
    violated assertions and impossible's now throw
    exceptions:violated_assertion_exception.
	
2003-03-19 Luca Saiu <positrone@freemail.it>
    Removed the eAM instruction xcpt.
    Implemented default prelude, and added the option --use-prelude (on by
    default), which allows, when negated, not to include prelude.epi.

2003-03-18 Luca Saiu <positrone@freemail.it>
    Added the option --use-defatult-paths to epsilonc (on by default) which
    allows, when negated, not to search for interfaces and libraries in
    default paths.
    Removed some obsolete directories containing only a README (saying
    they are obsolete) from the distribution.
	
2003-03-17 Luca Saiu <positrone@freemail.it>
    Implemented primitive exceptions: now eAM instruction can throw exceptions
    known at compile-time (for example s_car can throw
    exceptions:head_of_empty_list_exception), whose encoding is fixed before
    link time.
    Fixed a bug in interfaces importation caused by qualified identifiers.
	
2003-03-16 Luca Saiu <positrone@freemail.it>
    Fixed two bugs with exceptions in the eAM.
    Fixed a type inference bug in throw

2003-03-16 Luca Saiu <positrone@freemail.it>
    Added muLisp, a simple Lisp interpreter written in epsilon, as an example.

2003-03-13 Luca Saiu <positrone@freemail.it>
    Imported interfaces files (*.epi) are now automatically searched in a default
    path, modifiable with command-line options.
    Nested (hierarchical) modules do not work yet.

2003-03-12 Luca Saiu <positrone@freemail.it>
    The default library epsilon.eama is now automatically installed into
    $(data_pkgdir)/lib.
    When epsilonc is called, if the user does not request not to do it,
    the default library is linked with the files named in the command 
    line arguments.

2003-03-08 Luca Saiu <positrone@freemail.it>
    Now the directory library/ is automatically built. Added support for
    console I/O at library level.
    Cleared the obsolete directory scripts/.

2003-03-05 Luca Saiu <positrone@freemail.it>
    Removed references to as/ and lvm/ which were kept in configure.ac by
    mistake.

2003-03-04 Luca Saiu <positrone@freemail.it>
    The LVM was permanently removed. The eAM is near to have the same
    functionality and is both faster and cleaner.
	
2003-03-03 Luca Saiu <positrone@freemail.it>
    Implemented the purely-functional I/O system; the primitives are
    currently hardcoded in the code generator, but they are pretty easy to
    implement in separate modules (written in eAML) for making extensions
    easier.

2003-02-28 Luca Saiu <positrone@freemail.it>
    Fixed some command-line handling bugs in epsilonc.
	
2003-02-17 Luca Saiu <positrone@freemail.it>
    Now epsilonc automatically calls eamlas, eamld, eamx2c and eamx2scheme.
    epsilonc can be called with several command-line options to do only
    a part of the work (for example --generate-eamo stops after assembling).
    The (however quite broken) REPL was temporarily resurrected to work with
    the eAM, for the time before the real meta-interpreter is ready.
    Bug fixes in some eAM instructions.

2003-02-01 Luca Saiu <positrone@freemail.it>
    Retargeted epsilonc to generate eAM code.

2003-01-28 Luca Saiu <positrone@freemail.it>
    Added support for eAM executables and libraries. Implemented the eAM linker.

2003-01-24 Luca Saiu <positrone@freemail.it>
    Implemented globals and exceptions in the eAM, both in C and in Scheme.

2003-01-20 Luca Saiu <positrone@freemail.it>
    Also the most complex part of the eAML to Scheme translation (s_cll/ret,
    s_pshf/popf) is now implemented, and works. Still slow at runtime.

2003-01-19 Luca Saiu <positrone@freemail.it>
    Added malloc() and realloc() wrappers for portability towards broken
    systems.

2003-01-18 Luca Saiu <positrone@freemail.it>
    Started implementing the eAML to Scheme translator.

2003-01-02 Luca Saiu <positrone@freemail.it>
    Changed documentation license, from GNU FDL 1.1 or later to GNU FDL 1.2 or
    later.

2002-12-30 Luca Saiu <positrone@freemail.it>
    Updated documentation and license notes stating epsilon is part of GNU. epsilonlex
    improved.

2002-12-27
    epsilon was officially dubbed part of the GNU Project.

2002-12-2? Luca Saiu <positrone@freemail.it>
    Renamed @@ to @@s, and @ to @s, to enable more consistent naming of operators.
    'infix @' is now the array lookup operator.

2002-12-21  Luca Saiu <positrone@freemail.it>
    Quickly added (bound-checked) array support in both the LVM and epsilonc.

2002-12-13  Luca Saiu <positrone@freemail.it>
    Added substitutes for add_history() to common/readline_wrapper.?
    Updated epsilonlex (frontend and backend); added 'ignore' actions.
    Fixed a forgotten #include <../version.h> in eam/eamlasparser_y.head
	
2002-12-09  Luca Saiu <positrone@freemail.it>
    version.h was renamed into commontext.h.
    Now some constants in commontext.h depend from config.h.

2002-12-07  Luca Saiu <positrone@freemail.it>
    Fixed a bug in lvmas preventing floating-point constants to be correctly
  encoded
	
2002-12-01  Luca Saiu <positrone@freemail.it>
    Switched to Autoconf/Automake

    Standard command line options are now supported by _all_ installed
  executables

    GNU Readline and the Boehm garbage collector are not required anymore;
  the configure script enables them if they are installed, else arranges
  for replacements.
