CS312 SML / NJ Cheat Sheet
CS312 SML / NJ Cheat Sheet
() : unit
3 : int List.filter : ('a -> bool) -> 'a list -> 'a list
3.0 : real List.filter (fn x => x < 4) [2,4,3,9,6,1,0,5] [2,3,1,0]
#"a" : char
"xyz" : string List.foldr : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b
false : bool List.foldr (op ^) "x" ["a","b","c"] "abcx"
3 < 5 andalso true : bool
SOME 3 : int option List.foldl : ('a * 'b -> 'b) -> 'b -> 'a list -> 'b
NONE : 'a option List.foldl (op ^) "x" ["a","b","c"] "cbax"
ref 3 : int ref
[3,4] : int list List.find : ('a -> bool) -> 'a list -> 'a option
[] : 'a list List.find (fn x => x > 10) [1,5,10,13,19] SOME 13
(1,"xyz",3.0) : int * string * real
{foo=6,bar="xyz"} : {foo:int,bar:string} size "hello" 5
fn x => x + 1 : int -> int length [8,9,10] 3
fn x y => x + y : int -> int -> int rev [8,9,10] [10,9,8]
fn (x,y) => x + y : int * int -> int valOf (SOME 312) 312
fn () => 4 : unit -> int isSome (SOME 312) true