cl-lml-2.5.7/ 0000755 0001750 0001750 00000000000 10671111144 011713 5 ustar kevin kevin cl-lml-2.5.7/api.lisp 0000644 0001750 0001750 00000010447 10667175457 013411 0 ustar kevin kevin ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- ;;;; ************************************************************************* ;;;; FILE IDENTIFICATION ;;;; ;;;; Name: api.lisp ;;;; Purpose: Macros for generating API documentation ;;;; Programmer: Kevin M. Rosenberg based on Matthew Danish's code ;;;; Date Started: Nov 2002 ;;;; ;;;; $Id$ ;;;; ;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg ;;;; and Copyright (c) 2002 Matthew Danish ;;;; ;;;; LML users are granted the rights to distribute and use this software ;;;; as governed by the terms of the GNU General Public License v2 ;;;; (http://www.gnu.org/licenses/gpl.html) ;;;; ************************************************************************* (in-package #:lml) ;;; Copyright (c) 2002 Matthew Danish. ;;; All rights reserved. ;;; Redistribution and use in source and binary forms, with or without ;;; modification, are permitted provided that the following conditions ;;; are met: ;;; 1. Redistributions of source code must retain the above copyright ;;; notice, this list of conditions and the following disclaimer. ;;; 2. Redistributions in binary form must reproduce the above copyright ;;; notice, this list of conditions and the following disclaimer in the ;;; documentation and/or other materials provided with the distribution. ;;; 3. The name of the author may not be used to endorse or promote products ;;; derived from this software without specific prior written permission. ;;; ;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ;;; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ;;; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ;;; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ;;; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ;;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ;;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ;;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ;;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;;; For an example, see Matthew Danish's cl-ftp documentation at ;;; http://www.mapcar.org/~mrd/cl-sql/ (defmacro api-list (&body body) `(ul ,@(loop for item in body collect `(li ,item)))) (defun stringify (x) (let ((*print-case* :downcase)) (if (null x) "()" (format nil "~A" x)))) (defmacro with-class-info ((class-name superclasses &rest slot-docs) &body other-info) `(p (i "Class ") (b ,(stringify class-name)) (i " derived from ") ,(stringify superclasses) " -- " (br) (i "Initargs:") (br) (ul ,@(loop for (slot-name slot-desc slot-default) in slot-docs collect `(li (tt ,(format nil ":~A" slot-name)) " -- " ,slot-desc " -- " (i "Default: ") ,(if (eql slot-default :n/a) "Not specified" (format nil "~S" slot-default))))) ,@other-info)) (defmacro with-macro-info ((macro-name &rest lambda-list) &body other-info) `(p (i "Macro ") (b ,(stringify macro-name)) " " (tt ,(stringify lambda-list)) (br) ,@other-info)) (defmacro with-function-info ((function-name &rest lambda-list) &body other-info) `(p (i "Function ") (b ,(stringify function-name)) " " (tt ,(stringify lambda-list)) (br) ,@other-info)) (defmacro with-condition-info ((condition-name supers &rest slot-docs) &body other-info) `(p (i "Condition ") (b ,(stringify condition-name)) (i " derived from ") ,(stringify supers) " -- " (br) (i "Slots:") (br) (ul ,@(loop for (slot-name slot-desc slot-reader slot-initarg slot-default) in slot-docs collect `(li (tt ,(stringify slot-name)) " -- " ,slot-desc " -- " (i " Default: ") ,(if (eql slot-default :n/a) "Not specified" (format nil "~S" slot-default))))) ,@other-info)) (defmacro with-functions (&rest slots) `(progn ,@(loop for (fn description . args) in slots collect `(with-function-info (,fn ,@(if args args '(connection-variable))) ,description)))) cl-lml-2.5.7/doc/ 0000755 0001750 0001750 00000000000 10667175457 012506 5 ustar kevin kevin cl-lml-2.5.7/doc/Makefile 0000644 0001750 0001750 00000000156 10667175457 014150 0 ustar kevin kevin .PHONY: site all clean all: site site: sbcl --load `pwd`/make.lisp clean: @rm -f *~ \#*\# .\#* memdump cl-lml-2.5.7/doc/make.lisp 0000644 0001750 0001750 00000000240 10667175457 014310 0 ustar kevin kevin #+cmu (setq ext:*gc-verbose* nil) (asdf:operate 'asdf:load-op 'lml) (in-package lml) (let ((cwd (parse-namestring (lml-cwd)))) (process-dir cwd)) (lml-quit) cl-lml-2.5.7/doc/readme.html 0000644 0001750 0001750 00000004314 10671111143 014604 0 ustar kevin kevin
LML is a Common Lisp package for generating HTML and XHTML documents. LML is authored by Kevin Rosenberg. The home page for LML is http://lml.b9.com/.
The easiest way to install LML is to use the Debian GNU/Linux operating system. You can then use the command apt-get install cl-lml to automatically download and install the LML package.
On a non-Debian system, you need to have either ASDF or mk-defsystem installed to load the system definition file. You will need to change the source pathname in the system file to match the location where you have installed LML.
Currently, there is no documentation on the functions provided by LML. However, the source code is instructive and there are example files included in the LML package.
Iteration | |
(i "The square of the first five integers are)" (b (loop as x from 1 to 5 doing (lml-format " ~D" (* x x)))) | The square of the first five integers are 1 4 9 16 25 |