The attachment compiles OK; yet, I don't
understand how
the compiler knows what type val_9 has. The compile/run is:
<---cut here---
Compilation started at Tue Oct 21 13:17:41
make
runghc uniplate.try.hs
val_9=Val 9
add_8_9=Add (Val 8) (Val 9)
children_add_8_9=[Val 8,Val 9]
Compilation finished at Tue Oct 21 13:17:42
>---cut here---
I would have expected that I would need to code this:
let val_9 = (Val 9)::(Expr Eo)
but apparently not.
Could somebody explain?
TIA.
-Larry