Standard ML of New Jersey, Version 109.27, April 20, 1997 - use "let.sml"; [opening let.sml] val pi = 3.14159 : real val yards2feet = fn : real -> real val square_real = fn : real -> real val feetsq2acres = fn : real -> real GC #0.0.0.0.1.16: (0 ms) val circle_area1 = fn : real -> real let.sml:36.4 Error: syntax error: inserting IN ID END uncaught exception Compile [Compile: "syntax error"] raised at: build/compile.sml:39.20-39.31 build/evalloop.sml:191.58 build/evalloop.sml:283.46-283.49 - - use "let.sml"; [opening let.sml] val pi = 3.14159 : real val yards2feet = fn : real -> real val square_real = fn : real -> real val feetsq2acres = fn : real -> real val circle_area1 = fn : real -> real val circle_area2 = fn : real -> real GC #0.0.0.0.2.82: (0 ms) val rect_area = fn : real * real -> real val it = () : unit - - circle_area1 (30.0); val it = 0.146044989669 : real - - circle_area2 (30.0); val it = 0.146044989669 : real - - circle_area1 (50.0); val it = 0.40568052686 : real - - circle_area1 (100.0); val it = 1.62272210744 : real - - rect_area(50.0,100.0); val it = 1.03305785124 : real - (* Below here is another ML session, showing let being used outside of *) - (* a function *) - - let = x=3; = in = 4*x = end; stdIn:51.1 Error: syntax error found at ID - - let = val x=3; = in = 3*x = end; val it = 9 : int - - x; stdIn:59.1 Error: unbound variable or constructor: x - - fun sumsquared (x:int, y:int) = = let = val sum = x+y; = in = sum*sum = end; val sumsquared = fn : int * int -> int - - sumsquared(2,3); val it = 25 : int -