FYI. I have just uploaded ATS-0.2.3. See http://www.ats-lang.org/ for the download link. Cheers, --Hongwei ###### ats-lang-anairiats-0.2.3: As usual, this release contains a large number of fixes. There is also a lot effort going into documentation. In particular, the grammar of ATS (ats_grammar.yats) is cleaned considerably. A (partial) list of the changes since the last release are given as follows: 1. Adding READ: READ(string) is read-only! 2. Renaming prelude/?ATS/file.?ats to prelude/?ATS/filebas.?ats 3. Adding support -DATS flags: -DATSXYZ=12345 or -DATS XYZ=12345 4. Adding support for ATS/Anairiats to output #line pragma in the C code generated by atsopt. 5. Adding support for compiling fixed-point expressions (constructed via fix and @fix). 6. Introducing various macros in ccomp/runtime/ats_basics.h to give more structure to the C code generated by atsopt. 7. Introducing block expressions: { decseq_syn } 8. Supporting syndef-loaded external identifers 9. DO and WHILE are external ids: both while-loop and do-while-loop are supported. 10. print! and println! are now supported. 11. fprint! and fprintln! are now supported. 12. tupz! is now supported. 13. $ATSHOME/utils/atsgrammar is added for documenting the grammar of ATS. 14. Implementing the $ATSHOME/libats/fundeque_fingertree package. 15. "><" (GTLT) can now be used as a dynamic identifier. 16. Syntax like [val <pat> = <SomeProof>] is now ruled out: 'val' needs to be replaced with 'prval'. 17. Removing named types (S2Enamed), which is inadequate for its purpose 18. S2Eextype can now carry arguments 19. overhauling partial template implementation 20. ptrout -> vptrout and ptroutopt -> vptroutopt 21. ptropt_v -> optvar_v 22. [ptrself] is introduced as a named type of the name "ats_ptrself_type" 23. The '$fun' suffix is no longer in use. If a function is declared as a 'val', then the function is now treated as an ordinary value.