chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] -lambda-lift broken in trunk


From: F. Wittenberger
Subject: [Chicken-users] -lambda-lift broken in trunk
Date: Thu, 02 Oct 2008 15:32:28 +0200

Hi,

I lifted a piece off the library and compiled it with -lambda-lift

The result does not work at all.

The relevant code example is in ##sys#read here:

(define ##sys#read
  (let ([reverse reverse]
        [list? list?]
        [string-append string-append]
        [string string]
        [char-name char-name]
        [csp case-sensitive]
        [ksp keyword-style]
        [crt current-read-table]
        [kwprefix (string (integer->char 0))] )
    (lambda (port infohandler)
      (let ([terminating-characters '(#\, #\; #\( #\) #\[ #\] #\{ #\} #
\' #\")]
            [csp (csp)]
            [ksp (ksp)]
            [crt (crt)]
            [rat-flag #f] )

...
...

          (define (r-spaces)
            (let loop ([c (##sys#peek-char-0 port)])
                                             ^^^^
"port" is unbound, when -lambda-lift is enabled and correct bound
otherwise.

              (cond ((##core#inline "C_eofp" c))
                    ((eq? #\; c) 
                     (skip-to-eol)
                     (loop (##sys#peek-char-0 port)) )
                    ((char-whitespace? c)
                     (##sys#read-char-0 port)
                     (loop (##sys#peek-char-0 port)) ) ) ) )




reply via email to

[Prev in Thread] Current Thread [Next in Thread]