Generated: May 6, 2005, 17:21:13 Copyright © 2005, Kurt Nørmark The local LAML software home page

What is new in LAML

News in version 20:

  1. XML-in-LAML: The major good news in this release is that the Scheme mirrors of XML languages are now fully validating in relation to the XML DTD. Based on the parsed content models from the XML DTD we automatically generate deterministic final automata that checks the LAML documents. This affects XHTML, SVG, LENO, and a number of other XML mirrors in LAML. If you make a Scheme mirror of you own XML language, you will take immediate advange of this too. The automata are supported by a new final state automation library in LAML.
  2. For illustrative purposes, this full distribution includes the XHTML1.0 transitional DTD in the directory tools/dtd-parser/sample-dtd/ together with a script that parses it. In the directory tools/xml-in-laml/sample-mirror-generation/ we provide a script that generates the fully validating XML-in-LAML mirror of XHTML1.0 transitional.
  3. LAML now support of both guile and mzscheme on linux. Configure LAML with laml-platform unix and operating-system linux.
  4. XML-in-LAML: Attributes are now output in the same way as the document contents. In earlier versions an attribute list of an element was aggregated as a string before being transferred to the output (a string or an open output port).
  5. XML-in-LAML: Characters in XML attribute values are now 'protected' in the same way as the textual contents. More concretly, the characters '<', '>', '&', single quote, and double quote characters are converted to appropriate character entities. As in ealier versions, this is done by means of the HTML character transformation table . This is primarily of interest for XHTML, of course.
  6. XML-in-LAML: The pp option in write-html has been improved. Now the pretty printing is done directly on the LAML AST, in a way closely connected with raw output. In practical terms it means that XHTML and SVG can now be rendered and pretty printed with a better result, and much faster than in earlier versions of LAML. I am quite happy with the result. Take a look at the source of this HTML file for an example.
  7. The collect-skip library in lib/ has been extended such that it is possible to take input from a string. Earlier, it was only possible to read input from an open input port.
  8. dtd-parser-4.scm in tools/dtd-parser/: Much inproved parsing of content models of XML DTDs.
  9. Some LAML users have complained about the Emacs key bindings made by LAML. As a consequence it is now possible to avoid LENO and Scheme Elucidator support (and hereby a bunch of key bindings). Two new boolean options have been introduced in laml-config/configuration: leno-emacs-support and elucidator-emacs-support. In addition, the LAML configuration program now tells new the LAML user how to affect the key bindings.
  10. XML-in-LAML: A new form (char-ref x) represents character references in XML-in-LAML documents. As an example, (char-ref "amp") is rendered as &amp;.
  11. In some Scheme systems it is awkward to implement the LAML compatibility function sort-list, which sorts a list. The sorting functions from SLIB, located in lib/compatibility/sorting/ solves this problem.
  12. The older pieces of LAML software has been identified, and factored out from the main table, as presented on the LAML software home page.
  13. The Scheme Elucidator can now process Scheme programs with vector constants.
  14. Detailed notes have beend added about the individual Scheme systems, platforms, and operating systems on which LAML is supported. We also provide some run time measures.
  15. LAML has been tested with SCM 57d on Linux. Overall, it works very well. See details.
Kurt Nørmark