Merge branch 'master' of https://github.com/dopefishh/cc1516
[cc1516.git] / examples / example.spl
index ee36ff3..0387810 100644 (file)
@@ -2,10 +2,6 @@
        Three ways to implement the f acto rial function in SPL.
        First the recursive version .
 */
-var r = 1;
-var facN = 1;
-var ok = True;
-
 
 facR(n) :: Int -> Int {
        if (n < 2) {
@@ -15,6 +11,7 @@ facR(n) :: Int -> Int {
        }
 }
 
+
 //The iterative version of the factorial function
 facl ( n ) :: Int -> Int {
        var r = 1;
@@ -33,12 +30,12 @@ main ( ) :: Void {
        var ok = True;
        while(n<20) {
                facN = facR (n);
-               if (facN != factl (n) || facn != facL (n)){
+               if (facN != factl (n) || facN != facL (n)){
                        print (n : facN : facl (n) : facL (n): []);
                        ok=False;
                }
        }
-       print(ok);
+       //print(ok);
 }
 
 // A list based factorial function
@@ -48,7 +45,7 @@ facL (n) :: Int -> Int {
 }
 
 //Generates a list of integers from the first to the last argument
-fromTo (from, to) :: Int  Int -> [Int] {
+fromTo (from, to) :: Int -> Int -> [Int] {
        if(from <= to){
                return from:fromTo(from+1, to);
        } else {
@@ -70,15 +67,15 @@ reverse(list):: [t] -> [t] {
 abs(n)::Int->Int{if(n<0)return -n; else return n;}
 
 //swap the elements in a tuple
-swap(tuple) :: (a, a) -> (a, a){
-       var tmp = tuple.fst;
-       tuple.fst = tuple.snd;
-       tuple.snd = tmp;
-       return tuple;
-}
+//swap(tuple) :: (a, a) -> (a, a){
+//     var tmp = tuple.fst;
+//     tuple.fst = tuple.snd;
+//     tuple.snd = tmp;
+//     return tuple;
+//}
 
 //list append
-append(l1, l2) :: [t] [t] -> [t] {
+append(l1, l2) :: [t] -> [t] -> [t] {
        if(isEmpty(l1)){
                return l2;
        } else {