Re: [dssslist] define inside let body

Subject: Re: [dssslist] define inside let body
From: tmcd@xxxxxxxxx
Date: Wed, 9 Feb 2005 00:11:38 -0600 (CST)
On Tue, 9 Feb 2005, Joaqumn Zuazo <jz@xxxxxxxxx> wrote:
> Hi, I am trying to understand the dsssl standard document (ISO/IEC
> 10179:1996(E). Trying to put this example to work with openjade, part
> 8.4 "Definitions" of the document, at top level:
>
> (define p
>    (let ((x 5))
>      (define foo (lambda (y) (bar x y)))
>      (define bar (lambda (a b) (+ (* a b) a)))
>      (foo (+ x 3)))
> )

Huh.  I didn't know the standard allowed that.

> I get an error :
> openjade:protec.dsl:14:2:E: syntactic keyword "define" used as variable
> openjade:protec.dsl:15:1:E: missing closing parenthesis
> openjade:protec.dsl:15:1:E: missing closing parenthesis
> openjade:protec.dsl:16:4:E: unknown top level form "foo"

<http://openjade.sourceforge.net/> is the OpenJade main page.
<http://openjade.sourceforge.net/jadedoc-1.3/index.htm#limitations>
starts

    Current OpenJade Limitations

    This section describes the limitations of the front-end (the
    general-purpose DSSSL engine); each backend also has its own
    limitations.

    OpenJade doesn't allow internal definions at the beginning of
    bodies and the (test => recipient) variant of cond clauses.
    ...

--
Tim McDaniel; Reply-To: tmcd@xxxxxxxxx

Current Thread