LAML SOFTWARE Download LAML Install LAML LAML & Scheme Browser LAML News Why LAML? Related work LAML System Overview Port LAML Elucidative LAML Tutorial

The LAML Home Page

This page gives an overview of the development of LAML, which is carried out by Kurt Nørmark at Aalborg University, Denmark. Below you will find a number of papers on LAML. The LAML software - including download - is available from the LAML software homepage, which is the main and most interesting page about LAML.

The main idea in this work is to bring XML and HTML into the domain of the Scheme programming language, and as such let the author and programmer use the power of abstraction and programmed solutions when he or she is doing web work. Web work includes web authoring in Scheme (programmatic authoring), web programming, and transformation of XML documents.

LAML allows you to generate a mirror of an arbitrary XML language in Scheme, by use of the LAML XML DTD parser and the XML-in-LAML mirror generation tool. The generated mirror functions perform a comprehensive validation of of the XML documents in LAML. Mirrors of XHTML and SVG are pre-generated.

LAML is also the home of a number of Scheme related tools, most notably LENO, The Scheme Elucidator, and SchemeDoc.

I have written the following papers about LAML, and LAML related topics. Below you will find the most relevant of these. It is recommended that you start with the paper "Web Programming in Scheme with LAML".

  1. The paper "Scheme on the Web and in the Classroom - A Retrospective about the LAML Project" ( pdf), presented in the The 12th Workshop on Scheme and Function Programming, October 2012
    An overview paper about the LAML work.

  2. The paper "Bites of Lists - mapping and filtering sublists" ( pdf), presented in the 4th. European Lisp Symposium, March-April 2011.
    A paper about a generalization of map and filter, which processes sublists instead of individual list elements. The main examples come from MIDI LAML.

  3. The paper "MIDI Programming in Scheme - Supported by an Emacs Environment" ( pdf), presented in the seventh European Lisp Workshop, June 2010.
    A paper that gives an overview of the MIDI environment in LAML, and its comprehensive GNU Emacs environment.

  4. The paper "Systematic Unit Testing in an Read-eval-print Loop" ( JUCS abstract page).
    Published in Special Issue on Lisp: Research and Experience (2010) in Journal of Universal Computer Science, J.UCS. vol. 16, no. 2, 2010
    A paper that describes the idea of interactive unit testing of Scheme programs, and how to use test cases as examples in documentation produced by LAML SchemeDoc.

  5. The paper "Deriving a Comprehensive Document from a Concise Document - Document Engineering in Scheme" (pdf, ps).
    August 2007. Accompanying example web page.
    A paper that illustrates LAML technology in the context of the LENO system.
    Presented at The Scheme workshop 2007 in Freiburg, Germany, September 2007.

  6. The paper "A Graph Library Extension of SVG" (html).
    August 2007. Accompanying example web page.
    Slides: with SVG illustrations, without SVG illustrations.
    A paper that extends SVG with a LAML/Scheme library for graph drawing and graph animation. The paper also illustrate the benefits of working with SVG through Scheme.
    Presented at SVG Open 2007 in Tokyo, Japan in September 2007.

  7. The paper "Web Programming in Scheme with LAML" (pdf, ps).
    Journal of Functional Programming, 15 (1): 53-65, January 2005.
    A 13 page coverage of LAML, mainly from the perspective of XML modelling in Scheme.

  8. The paper "Scheme Program Documentation Tools" (paper: pdf, ps, slides: html).
    September 7, 2004. Published in the Proceedings of the Fifth SIGPLAN ACM Workshop on Scheme and Functional Programming.
    Covers LAML SchemeDoc and the Scheme Elucidator 2 tools.
    Accompanying web page with sample SchemeDoc and Elucidator source and target documents.

  9. The paper "XML Transformations in Scheme with LAML - a Minimalistic Approach" (paper: pdf, ps; slides: html).
    October 9, 2003. Slightly revised December 10, 2003. Presented at the International Lisp Conference, October 2003.
    A paper in which we discuss XML transformations in LAML, and compares it with XSLT, SXSLT, and HaXml.
    Accompanying web page with example source programs.

  10. The paper "The duality of XML Markup and Programming notation" (paper: pdf, slides: html).
    July 4, 2003. Presented at the IADIS WWW/Internet 2003 Conference, Portugal, November 2003
    A paper which discusses XML markup in relation to programming notation in a general fashion, and with concrete inspiration from LAML. This is not a central LAML paper, but a paper that discusses the questions of XML notation in relation to programming notation from my experience with LAML.

  11. The paper "Programmatic WWW authoring using Scheme and LAML" (paper: xhtml; slides: slides) .
    Presented at the Web Engineering Track of The Eleventh International World Wide Web Conferene - WWW2002.
    March 8, 2002.
    This paper introduces the ideas of programmatic authoring in Scheme with LAML. This paper replaces A Programmatic Approach to WWW authoring using Functional Programming

Here are some older papers, and some less important papers, some of which are mainly included for historical reasons:

  1. The paper "The Vicinity of Program Documentation Tools" (pdf, ps).
    Technical Report 09-004, Department of Computer Science, Aalborg University, December 2009.
    A paper that describes the interconnections between LAML SchemeDoc, The Scheme Elucidator, a Scheme Unit testing tool, and a Scheme program editor (GNU Emacs).

  2. The paper "A Suite of WWW-based Tools for Advanced Course Management"
    (preliminary and extended html, final pdf, final zipped postscript, slides html )
    Presented at "Innovation and Technology in Computer Science Education" ITiCSE, Finland, July 2000
    This paper is about LENO, and other LAML based tools for course management. The paper does not reflect the current XML-in-LAML interface of LENO.

  3. The paper "Programming World Wide Web pages in Scheme" ( postscript, pdf )
    Sigplan Notices, vol. 34, no. 12, 1999
    This is an old paper about the initial LAML ideas. The paper does not reflect the current flavor of LAML at all.

  4. The paper "Using Lisp as a Markup Language -- The LAML Approach" (postscript, pdf, slides html )
    Presented at the European Lisp User Group Meeting, Amsterdam, 1999.
    Like the SIGPLAN paper, also this paper is obsolete by now.

The following additional writings may also be of interest:

  1. The online, elucidative resource "The LAML Tutorial" ( html)
    A comprehensive tutorial to LAML and to LAML tools. The tutorial is written as a set of elucidative programs.

  2. The teaching material Functional Programming in Scheme - With Web Programming Examples.
    September 2003 edition, with audio track and a PDF version.

  3. A slide presentation of LAML: "A Programmatic Approach to WWW Authoring" ( html)
    The slides have been produced by use of the LENO tool, which is an LAML based slide presentation and lecture note system.

Students associated with the project have also written a number of reports.

  1. The master thesis report "SLAML - Server side LAML" ( postscript)
    by Mikael Hansen, Paw Iversen and Jimmy Juncker. June 2002.

  2. The preliminary master thesis report "SLAML - Server Side LAML" ( postscript)
    by Mikael Hansen, Paw Iversen and Jimmy Juncker. January 2002.

  3. The master thesis report "POWER - Program Oriented Web EngineeRing" (pdf, ps )
    by Carsten Hellegaard, June 2000.
    Obsolete by 2003

There exists a number of slide presentations of LAML, including elucidative programming in Scheme (done with LAML technology).

  1. XML Processing in LAML
  2. Document Description and Processing in Scheme
  3. Elucidative Programming

The slide presentations from above all stem from a series of lectures given at Görlitz University, Germany in December 2005.

If you want further information, please contact the author.

Kurt Nørmark

Program Oriented Web Engineering - using LAML Logo Valid XHTML 1.0 Transitional

Generated: Thursday, September 5, 2013, 14:40:45