add string literals
[cc1516.git] / spl.icl
diff --git a/spl.icl b/spl.icl
index c877bd0..0f1c07a 100644 (file)
--- a/spl.icl
+++ b/spl.icl
@@ -37,12 +37,18 @@ derive gPrint TokenValue
 preamble :: AST -> AST
 preamble (AST fd) = AST (pre ++ fd)
        where
-               pre = [] //[
-                       //FunDecl zero "1printstr" ["x"] Nothing [] [
-//                             IfStmt (FunExpr zero "isEmpty" [VarExpr zero (VarDef "x" [])] [])
-//                                     []
-//                                     [FunStmt "1printchar" [VarExpr zero (VarDef "x" [FieldHd])] []
-//                                     ,FunStmt "1printstr" [VarExpr zero (VarDef "x" [FieldTl])] []]]]
+               pre = [
+                       FunDecl zero "1printstr" ["x"] Nothing [] [
+                               IfStmt (FunExpr zero "isEmpty" [VarExpr zero (VarDef "x" [])] [])
+                                       []
+                                       [FunStmt "1printchar" [VarExpr zero (VarDef "x" [FieldHd])] []
+                                       ,FunStmt "1printstr" [VarExpr zero (VarDef "x" [FieldTl])] []]]
+                       ,
+                       FunDecl zero "1printbool" ["x"] Nothing [] [
+                               IfStmt (VarExpr zero (VarDef "x" []))
+                                       [FunStmt "1printstr" [makeStrExpr zero $ fromString "True"] []]
+                                       [FunStmt "1printstr" [makeStrExpr zero $ fromString "False"] []]
+                       ]] 
 
 Start :: *World -> *World
 Start w