Type parametric programming

We introduce a new abstraction mechanism type parametric combinators which sup ports abstraction over type constructors de ned by datatype declarations found in func tional languages such as Miranda Haskell and ML This mechanism allows the de nition and use of high level abstractions not possible in traditional languages and could be used to de ne user programmable derived instance declarations for type classes in Haskel We illustrate its use in an actual programming language by giving examples in the ML dialect CRML