home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 7
/
Apprentice-Release7.iso
/
Source Code
/
C
/
Applications
/
Moscow ML 1.42
/
examples
/
manual
/
Reduce.sml
< prev
Encoding:
Amiga
Atari
Commodore
DOS
FM Towns/JPY
Macintosh
Macintosh JP
Macintosh to JP
NeXTSTEP
RISC OS/Acorn
Shift JIS
UTF-8
Wrap
Text File
|
1997-08-18
|
367 b
|
12 lines
|
[
TEXT/R*ch
]
local open Expr
in
fun negate (Neg e) = e
| negate e = Neg e
fun reduce (Neg (Neg e)) = e
| reduce (Neg e) = negate (reduce e)
| reduce (Plus (Cst 0, e2)) = reduce e2
| reduce (Plus (e1, Cst 0)) = reduce e1
| reduce (Plus (e1, e2)) = Plus (reduce e1, reduce e2)
| reduce e = e
end