ffa93302c44b1cfc3b363db85f3471a1cc167d87
[mes.git] / NEWS
1                                                               -*- org -*-
2 #+TITLE: Mes NEWS – history of user-visible changes
3 #+STARTUP: content hidestars
4
5 Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
6
7   Copying and distribution of this file, with or without modification,
8   are permitted in any medium without royalty provided the copyright
9   notice and this notice are preserved.
10
11 Please send Mes bug reports to janneke@gnu.org.
12
13 * Changes in 0.2 since 0.1
14 ** Core
15 *** Names of symbols and strings are list of characters [WAS: c-string].
16 *** Sc-expand from pre-R6RS's psyntax has been integrated.
17 *** Undefined variable error now shows the name of the undefined variable.
18 *** There is now only one SCM type for builtin functions.
19 *** Macro expansion has been cleaned-up.
20 ** Language
21 *** Mes now provides a subset of R6RS.
22 *** Mes now provides syntax-case.
23 *** Mes now provides `load'.
24 ** Noteworthy bug fixes
25 *** Using values as second parameter of builtin function yields first value.
26 *** Quoted internals (e.g. 'if 'lambda) are now symbols.
27 *** Syntax error now exits.
28 *** Make+Bash voodoo has been replaced by build-aux/mes-snarf.scm.
29 *** Apply now accepts multiple list arguments.
30 *** Apply of character, inernal, number, string is an error.
31 *** Quasisyntax reading 
32
33 * Changes in 0.1 (since progress report #2)
34 ** Core
35 *** expand_macro is now a separate function.
36 *** A smaller core can now compiled using BOOT=1.
37 The smaller core does not provide define, define-macro, or quasiquote;
38 these are provided from a Scheme version of implemented eval/apply.
39 ** Language
40 *** Mes now provides a subset of R5RS.
41 *** Mes now provides let-syntax.
42 *** Mes now provides match.
43 *** Mes now provides quasisyntax, unsyntax and unsyntax-splicing.
44 ** User interface
45 *** Mes now provides a REPL, run:
46     scripts/repl.mes
47 *** Mes compiler can be run as a script:
48     scripts/mescc.mes doc/examples/main.c
49 *** Macro expansion can be inspected in the REPL, e.g.:
50     ,expand (and 0 1)
51 ** Noteworthy bug fixes
52 *** Performance: scripts/mescc.mes now takes 2s to compile main.c (was 1'20").
53 *** Symbols are now truly unique.
54   * '(), #t, #f are no longer symbols.