fun neg (r : real) = ~r
fun add (r1 : real, r2) = r1 + r2
+fun sub (r1 : real, r2) = r1 - r2
fun mult (r1, r2) = real r1 * r2
+fun lt (r1 : real, r2) = r1 < r2
+fun ge (r1 : real, r2) = r1 >= r2
+
fun isIdent ch = Char.isLower ch orelse Char.isDigit ch orelse ch = #"-"
fun validHost s =