implementation module DefaultElem import StdEnv class DefaultElem a where default_elem :: a instance DefaultElem Int where default_elem = 0 instance DefaultElem Char where default_elem = ' ' instance DefaultElem Bool where default_elem = False /* /*2.0 instance DefaultElem {#a} | Array {#} a & DefaultElem a where default_elem = {} 0.2*/ //1.3 instance DefaultElem {#a} | ArrayElem a where default_elem = {}; //abort "a"; //3.1 */ //1.3 instance DefaultElem {#a} | ArrayElem, DefaultElem a //3.1 /*2.0 instance DefaultElem {#a} | Array {#} a & DefaultElem a 0.2*/ where default_elem = {default_elem} class DefaultElemU a where default_elemU :: *a