| 1 | public | |
| 2 | ||
| 3 | type Point2 | |
| 4 | field Float x y | |
| 5 | ||
| 6 | type Point3 | |
| 7 | field Float x y z | |
| 8 | ||
| 9 | function point x y -> p | |
| 10 | arg Float x y ; arg Point2 p | |
| 11 | p x := x ; p y := y | |
| 12 | ||
| 13 | function point x y z -> p | |
| 14 | arg Float x y z ; arg Point3 p | |
| 15 | p x := x ; p y := y ; p z := z | |
| 16 | ||
| 17 | export point | |