Standard ML of New Jersey, Version 109.27, April 20, 1997
-
- val pi = 3.14156;
val pi = 3.14156 : real
 

- val radius = 2;
val radius = 2 : int
 

- val diameter = 2 * radius;
val diameter = 4 : int
 

- pi;
val it = 3.14156 : real
 

- radius;
val it = 2 : int
 

- diameter;
val it = 4 : int
 

- 4;
val it = 4 : int
 

- val circumference = 2.0 * pi * radius;
stdIn:36.1-36.38 Error: operator and operand don't agree [tycon mismatch]
operator domain: real * real
operand: real * int
in expression:
* : overloaded (* : overloaded (2.0,pi),radius)
 

- val circumference = 2.0 * pi * real(radius);
val circumference = 12.56624 : real
 

- fun square_real(x:real) = x*x;
val square_real = fn : real -> real
 

- square_real(3.1);
val it = 9.61 : real
 

- val circsq = square_real(2.0 * pi * real(radius));
val circsq = 157.910387738 : real

 
- val area = pi * square_real(real(radius));
val area = 12.56624 : real
 

- val y = "hello";
val y = "hello" : string
 

- fun addtwo(y:int) = y+2;
val addtwo = fn : int -> int
 

- addtwo(3);
val it = 5 : int
 

- y;
val it = "hello" : string
 

- fun areaof(radius:real) = pi * square_real(radius);
val areaof = fn : real -> real
 

- areaof(2.0);
val it = 12.56624 : real
 

- areaof(4.3);
val it = 58.0874444 : real
 

=========================================================================
Standard ML of New Jersey, Version 109.27, April 20, 1997
 

- fun areaof(radius:real) = pi * square_real(radius);
stdIn:8.32-8.43 Error: unbound variable or constructor: square_real
stdIn:8.27-8.29 Error: unbound variable or constructor: pi
stdIn:8.30 Error: overloaded variable cannot be resolved: *
 

- val pi = 3.14156;
val pi = 3.14156 : real
 

- fun square_real(x:real) = x*x;
val square_real = fn : real -> real
 

- square_real(2.0);
val it = 4.0 : real
 

- fun areaof(radius:real) = pi * square_real(radius);
val areaof = fn : real -> real
 

- areaof(2.0);
val it = 12.56624 : real
 

- val pi = "apple pie";
val pi = "apple pie" : string
 

- areaof(2.0);
val it = 12.56624 : real
 

- fun square_real(x:real) = x*x*x;
val square_real = fn : real -> real

- square_real(2.0);
val it = 8.0 : real
 

- areaof(2.0);
val it = 12.56624 : real