9dcff14bba
* module/mes/read-0.mes (read-word): Implement #;. * reader.c (read_word)[READER]: Likewise. * tests/read.test: Test it. * NEWS: Mention it.
79 lines
3 KiB
Plaintext
79 lines
3 KiB
Plaintext
-*- org -*-
|
||
#+TITLE: Mes NEWS – history of user-visible changes
|
||
#+STARTUP: content hidestars
|
||
|
||
Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Please send Mes bug reports to janneke@gnu.org.
|
||
|
||
* Changes in 0.4 since 0.3
|
||
** Core
|
||
*** Smaller C-reader
|
||
The C-reader needs only support reading of words and lists
|
||
(s-expressions), line-comments. Quoting, characters, strings,
|
||
block-comments are all handled by the Scheme reader later.
|
||
** Language
|
||
*** Keywords are supported.
|
||
*** Cond now supports =>.
|
||
*** Lambda* and define* are now supported.
|
||
*** #;-comment is now supported.
|
||
* Changes in 0.3 since 0.2
|
||
** Core
|
||
*** Number-based rather than pointer-based cells.
|
||
*** Garbage collector aka Jam scraper.
|
||
A variant on SICP's stop and copy Garbage Colletor (Jam Scraper?)
|
||
algorithm has been implemented.
|
||
*** The reader has been moved to Scheme.
|
||
** Language
|
||
*** Simple loadable modules.
|
||
*** Srfi-9 and match use handwritten syntax-rules (mes-use-module (mes syntax)).
|
||
*** Optional syntax-case using psyntax (mes-use-module (mes psyntax)).
|
||
** Noteworthy bug fixes
|
||
*** Srfi-0 has been fixed.
|
||
* Changes in 0.2 since 0.1
|
||
** Core
|
||
*** Names of symbols and strings are list of characters [WAS: c-string].
|
||
*** Sc-expand from pre-R6RS's psyntax has been integrated.
|
||
*** Undefined variable error now shows the name of the undefined variable.
|
||
*** There is now only one SCM type for builtin functions.
|
||
*** Macro expansion has been cleaned-up.
|
||
** Language
|
||
*** Mes now provides a subset of R6RS.
|
||
*** Mes now provides syntax-case.
|
||
*** Mes now provides `load'.
|
||
** Noteworthy bug fixes
|
||
*** Using values as second parameter of builtin function yields first value.
|
||
*** Quoted internals (e.g. 'if 'lambda) are now symbols.
|
||
*** Syntax error now exits.
|
||
*** Make+Bash voodoo has been replaced by build-aux/mes-snarf.scm.
|
||
*** Apply now accepts multiple list arguments.
|
||
*** Apply of character, inernal, number, string is an error.
|
||
*** Quasisyntax reading
|
||
|
||
* Changes in 0.1 (since progress report #2)
|
||
** Core
|
||
*** expand_macro is now a separate function.
|
||
*** A smaller core can now compiled using BOOT=1.
|
||
The smaller core does not provide define, define-macro, or quasiquote;
|
||
these are provided from a Scheme version of implemented eval/apply.
|
||
** Language
|
||
*** Mes now provides a subset of R5RS.
|
||
*** Mes now provides let-syntax.
|
||
*** Mes now provides match.
|
||
*** Mes now provides quasisyntax, unsyntax and unsyntax-splicing.
|
||
** User interface
|
||
*** Mes now provides a REPL, run:
|
||
scripts/repl.mes
|
||
*** Mes compiler can be run as a script:
|
||
scripts/mescc.mes doc/examples/main.c
|
||
*** Macro expansion can be inspected in the REPL, e.g.:
|
||
,expand (and 0 1)
|
||
** Noteworthy bug fixes
|
||
*** Performance: scripts/mescc.mes now takes 2s to compile main.c (was 1'20").
|
||
*** Symbols are now truly unique.
|
||
* '(), #t, #f are no longer symbols.
|