http://tk.dswarmsikhttkg7jgsoyfiqpj3ighupfrvuz5ri3lu5q2dlqyrpgk7ad.onion/posts/2023-09-08-kth-itppv.html
Definition Variable binding: val x = 42 Function defniition: fun add two (x,y) = x + y (equivalent to val add two = fn (x,y) => x + y) Type definitions: datatype colour = red | green | blue fun fact 0 = 1 | fact n = n * fact (n -1 ) Algebraic lists fun length [] = 0 | length (x::xs) = 1 + length xs Types Basic: int, bool, ..., 1 : int Function types: T -> R, fact : int -> int Tuple types: T * R, (1,true) : int * bool...