* Made recordize recognize lambda again (lost in crash).

This commit is contained in:
Abdulaziz Ghuloum 2007-10-10 09:18:11 -04:00
parent 07330d9b1d
commit 7f2aa4f2f9
4 changed files with 13 additions and 4 deletions

Binary file not shown.

View File

@ -229,6 +229,8 @@
body))))) body)))))
(cdr x))]) (cdr x))])
(make-clambda (gensym) cls* #f ctxt))] (make-clambda (gensym) cls* #f ctxt))]
[(lambda)
(E `(case-lambda ,(cdr x)) ctxt)]
[(foreign-call) [(foreign-call)
(let ([name (quoted-string (cadr x))] [arg* (cddr x)]) (let ([name (quoted-string (cadr x))] [arg* (cddr x)])
(make-forcall name (map (lambda (x) (E x #f)) arg*)))] (make-forcall name (map (lambda (x) (E x #f)) arg*)))]

View File

@ -3,7 +3,7 @@
(import (except (ikarus) assembler-output) (import (except (ikarus) assembler-output)
(ikarus compiler) (ikarus compiler)
(except (ikarus system $bootstrap) (except (psyntax system $bootstrap)
eval-core eval-core
current-primitive-locations current-primitive-locations
compile-core-expr-to-port)) compile-core-expr-to-port))
@ -186,8 +186,8 @@
[$arg-list (ikarus system $arg-list) #f #t] [$arg-list (ikarus system $arg-list) #f #t]
[$stack (ikarus system $stack) #f #t] [$stack (ikarus system $stack) #f #t]
[$interrupts (ikarus system $interrupts) #f #t] [$interrupts (ikarus system $interrupts) #f #t]
[$all (psyntax system $all) #f #t] [$all (psyntax system $all) #f #t]
[$boot (ikarus system $bootstrap) #f #t] [$boot (psyntax system $bootstrap) #f #t]
)) ))
(define identifier->library-map (define identifier->library-map

View File

@ -11,5 +11,12 @@
(hashtable-set! h 'foo 12) (hashtable-set! h 'foo 12)
(hashtable-set! h 'bar 13) (hashtable-set! h 'bar 13)
(or (equal? (hashtable-keys h) '#(foo bar)) (or (equal? (hashtable-keys h) '#(foo bar))
(equal? (hashtable-keys h) '#(bar foo))))])) (equal? (hashtable-keys h) '#(bar foo))))]
[values
(let ([h (make-eq-hashtable)])
(hashtable-set! h 'foo 12)
(hashtable-set! h 'bar 13)
(hashtable-clear! h)
(equal? (hashtable-keys h) '#()))]
))