infix 6 ++ ; infix 7 ** ; signature PolySig = sig type Poly val ++ : Poly * Poly -> Poly val ** : Poly * Poly -> Poly val diff : Poly -> Poly (* derivative *) val int : Poly -> Poly (* indefinite integral *) val eval : Poly -> real -> real (* evaluate *) end;