- 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