1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
val it = fn : ['a#{X: 'b}, 'b. 'a ref -> 'b -> unit]
val pointClass =
{getColor = fn, getX = fn, getY = fn, setColor = fn, setX = fn, setY = fn}
: {getColor: ['a#{Color: 'b}, 'b. 'a ref -> 'b],
getX: ['a#{X: 'b}, 'b. 'a ref -> 'b],
getY: ['a#{Y: 'b}, 'b. 'a ref -> 'b],
setColor: ['a#{Color: 'b}, 'b. 'a ref -> 'b -> unit],
setX: ['a#{X: 'b}, 'b. 'a ref -> 'b -> unit],
setY: ['a#{Y: 'b}, 'b. 'a ref -> 'b -> unit]}
val myPoint =
fn
: ['a#{Color: 'b},
'b,
'c#{X: 'd},
'd,
'e#{Y: 'f},
'f,
'g#{Color: 'h},
'h,
'i#{X: 'j},
'j,
'k#{Y: 'l},
'l,
'm.
({getColor: 'a ref -> 'b,
getX: 'c ref -> 'd,
getY: 'e ref -> 'f,
setColor: 'g ref -> 'h -> unit,
setX: 'i ref -> 'j -> unit,
setY: 'k ref -> 'l -> unit}
-> {X: real, Y: real} ref -> 'm)
-> 'm]
val myColorPoint =
fn
: ['a#{Color: 'b},
'b,
'c#{X: 'd},
'd,
'e#{Y: 'f},
'f,
'g#{Color: 'h},
'h,
'i#{X: 'j},
'j,
'k#{Y: 'l},
'l,
'm.
({getColor: 'a ref -> 'b,
getX: 'c ref -> 'd,
getY: 'e ref -> 'f,
setColor: 'g ref -> 'h -> unit,
setX: 'i ref -> 'j -> unit,
setY: 'k ref -> 'l -> unit}
-> {Color: string, X: real, Y: real} ref -> 'm)
-> 'm]
val it = () : unit
val it = 1.0 : real
val it = 0.0 : real
val it = "Red" : string
|