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")

Reply via email to