Added default functions, isEmpty does not typecheck...
[cc1516.git] / examples / codeGen.spl
index 9982b4b..ebede23 100644 (file)
@@ -1,16 +1,36 @@
-f(x) {
-       Int y = 2;
-       return 4;
+//f(x, y) {
+//    var ret = 0;
+//    if (x < y) {
+//        ret = x;
+//    }
+//    else {
+//        ret = y;
+//    }
+//    return ret;
+//}//
+
+//main() {
+//     Int x1 = 1;
+//    var x2 = 4;
+//    var x3 = f(x1, x2);
+//    print(x1);
+//    x1 = 5;
+//    return x3 + x1;
+//}
+
+isE(x) :: [a] -> Bool {
+    if (x == []) {
+        return True;
+    } else {
+        return False;
+    }
 }
 
 main() {
-//    Int x1 = 3;
-//    Char x2 = '\n';
-//    Bool x3 = True;
-//    (Int, Char) x4 = (4, '\n');
-//    [Bool] x5 = True : False : True : True : []; 
-//     [Int] x1 = 42 : [];
-       Int x1 = 1;
-       Int x2 = f(x1);
-    return x1;
+    [Int] x1 = 1 : 2 : [];
+    [Int] x2 = 0 : x1;
+    [Int] x3 = [];
+    //Bool y1 = isEmpty(x2); //gives weird type error, not sure why
+    isEmpty(x2);
+    return;
 }