Author: bernhard Date: Sun Jan 27 06:18:03 2008 New Revision: 25284 Modified: trunk/languages/eclectus/compiler.scm trunk/languages/eclectus/t/pair.t
Log: [Eclectus] Add a broken implementation of 'cons' Modified: trunk/languages/eclectus/compiler.scm ============================================================================== --- trunk/languages/eclectus/compiler.scm (original) +++ trunk/languages/eclectus/compiler.scm Sun Jan 27 06:18:03 2008 @@ -236,6 +236,15 @@ (inline "new %r, 'EclectusCharacter'\\nassign %r, %0\\n")) (emit-expr arg))) +; implementation of cons +(define-primitive (cons arg1 arg2) + (list + (string->symbol "PAST::Op") + '(@ (pasttype "inline") + (inline "new %r, 'EclectusPair'\\n")) + )) + + (define emit-comparison (lambda (builtin arg1 arg2) (list Modified: trunk/languages/eclectus/t/pair.t ============================================================================== --- trunk/languages/eclectus/t/pair.t (original) +++ trunk/languages/eclectus/t/pair.t Sun Jan 27 06:18:03 2008 @@ -3,9 +3,11 @@ (load "tests-driver.scm") ; this should come first (add-tests-with-string-output "booleans" - [(pair? ()) => "#f\n"] - [(pair? #\A) => "#f\n"] - ;[(pair? (cons 30 31)) => "#t\n"] + [(pair? ()) => "#f\n"] + [(pair? #\A) => "#f\n"] + [(pair? (fx+ 1 2)) => "#f\n"] + [(pair? (pair? (fx+ 1 2))) => "#f\n"] + [(pair? (cons 30 31)) => "#t\n"] ) (load "compiler.scm")