X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=examples%2Fexample.spl;h=4a55e3550275b4c72300329dddeb2db0b0122b61;hb=6c23d03e21a84452701b742cb3582f02c1efc28c;hp=6cebe905f39b6109104862e965f051a0f6c1d5b6;hpb=90e3f306b5813ff66f8249ba243a8a4220c915fe;p=cc1516.git diff --git a/examples/example.spl b/examples/example.spl index 6cebe90..4a55e35 100644 --- a/examples/example.spl +++ b/examples/example.spl @@ -2,6 +2,10 @@ 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) { return 1; @@ -10,6 +14,7 @@ facR(n) :: Int -> Int { } } + //The iterative version of the factorial function facl ( n ) :: Int -> Int { var r = 1; @@ -43,7 +48,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 { @@ -73,7 +78,7 @@ swap(tuple) :: (a, a) -> (a, a){ } //list append -append(l1, l2) :: [t] [t] -> [t] { +append(l1, l2) :: [t] -> [t] -> [t] { if(isEmpty(l1)){ return l2; } else { @@ -84,7 +89,7 @@ append(l1, l2) :: [t] [t] -> [t] { //square the odd numbers in a list and remove the even members squareOddNumbers(list) :: [Int] -> [Int] { - while(!isEmpty (list) && list.hd % 2=0){ + while(!isEmpty (list) && list.hd % 2==0){ list=list.tl; } if(!isEmpty(list)){