(* Functions *) fn x : real => sqrt (sqrt x) (fn x : real => sqrt (sqrt x)) (4.0) val fourthroot : real -> real = (fn x : real => sqrt (sqrt x)) fun pal (s:string):string = s ^ (rev s) fun double (n:int):int = n + n fun square (n:int):int = n * n fun halve (n:int):int = n div 2 fun is_even (n:int):bool = (n mod 2 = 0) fun f(x:real):real = x+x fun g(y:real):real = y+y val x:real = 2.0 fun h(x:real):real = x+x fun i(y:real):real = x+y fun j(z:real):real = x+z fun k(x:real):real = x+x