X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=examples%2Fexample.spl;h=e71c2162f4c473f00c81296158134ed198e57b51;hb=a363f872ee96379d8b0b9b14cb6faec9d74e7e92;hp=ee36ff365032a8a060c26d54407b06b215208919;hpb=42f469bb622f254f8008b064bdb720c72daaf2e3;p=cc1516.git diff --git a/examples/example.spl b/examples/example.spl index ee36ff3..e71c216 100644 --- a/examples/example.spl +++ b/examples/example.spl @@ -2,10 +2,14 @@ Three ways to implement the f acto rial function in SPL. First the recursive version . */ -var r = 1; -var facN = 1; -var ok = True; - +Int r = 1; +Char r = 1; +Int r = -1; +Void r = 0; +Bool r = !True; +Bool r = -True; +//var facN = 1; +//var ok = True; facR(n) :: Int -> Int { if (n < 2) { @@ -15,6 +19,7 @@ facR(n) :: Int -> Int { } } + //The iterative version of the factorial function facl ( n ) :: Int -> Int { var r = 1; @@ -48,7 +53,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 { @@ -78,7 +83,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 {