(module ORD_MAP-sig (planet chongkai/sml) (#%module-begin (Program: (SIGDECTopDec: (SigDec: (SigBind: (SigId: ORD_MAP-sig) (SIGSigExp: (SEQSpec: (STRUCTURESpec: (StrDesc: (StrId: Key-struct) (IDSigExp: (SigId: ORD_KEY-sig)))) (SEQSpec: (TYPESpec: (TypDec: (TyVarseq: (TyVar: |'a|)) (TyCon: map-type))) (SEQSpec: (VALSpec: (ValDesc: (VId: empty) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))) (SEQSpec: (VALSpec: (ValDesc: (VId: isEmpty) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: singleton) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: insert) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|)))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: |insert'|) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: find) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: option-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: inDomain) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)))))) (CONTy: (Tyseq:) (LongTyCon: bool-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: remove) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type))))) (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: first) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: option-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: firsti) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))))) (LongTyCon: option-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: numItems) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq:) (LongTyCon: int-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: listItems) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: list-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: listItemsi) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))))) (LongTyCon: list-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: listKeys) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type))) (LongTyCon: list-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: collate) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))) (CONTy: (Tyseq:) (LongTyCon: order-type)))) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (CONTy: (Tyseq:) (LongTyCon: order-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: unionWith) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))) (VARTy: (TyVar: |'a|)))) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: unionWithi) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|)))))) (VARTy: (TyVar: |'a|)))) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: intersectWith) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'b|))))) (VARTy: (TyVar: |'c|)))) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: map-type)))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'c|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: intersectWithi) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'b|)))))) (VARTy: (TyVar: |'c|)))) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: map-type)))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'c|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: app) (ARROWTy: (PARTy: (ARROWTy: (VARTy: (TyVar: |'a|)) (CONTy: (Tyseq:) (LongTyCon: unit-type)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq:) (LongTyCon: unit-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: appi) (ARROWTy: (PARTy: (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)))))) (CONTy: (Tyseq:) (LongTyCon: unit-type)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq:) (LongTyCon: unit-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: map) (ARROWTy: (PARTy: (ARROWTy: (VARTy: (TyVar: |'a|)) (VARTy: (TyVar: |'b|)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: mapi) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))) (VARTy: (TyVar: |'b|)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: foldl) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'b|))))) (VARTy: (TyVar: |'b|)))) (ARROWTy: (VARTy: (TyVar: |'b|)) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (VARTy: (TyVar: |'b|))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: foldli) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'b|)))))) (VARTy: (TyVar: |'b|)))) (ARROWTy: (VARTy: (TyVar: |'b|)) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (VARTy: (TyVar: |'b|))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: foldr) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'b|))))) (VARTy: (TyVar: |'b|)))) (ARROWTy: (VARTy: (TyVar: |'b|)) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (VARTy: (TyVar: |'b|))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: foldri) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'b|)))))) (VARTy: (TyVar: |'b|)))) (ARROWTy: (VARTy: (TyVar: |'b|)) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (VARTy: (TyVar: |'b|))))))) (SEQSpec: (VALSpec: (ValDesc: (VId: filter) (ARROWTy: (PARTy: (ARROWTy: (VARTy: (TyVar: |'a|)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: filteri) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))) (CONTy: (Tyseq:) (LongTyCon: bool-type)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: mapPartial) (ARROWTy: (PARTy: (ARROWTy: (VARTy: (TyVar: |'a|)) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: option-type)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: map-type)))))) (VALSpec: (ValDesc: (VId: mapPartiali) (ARROWTy: (PARTy: (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Key.ord_key-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: option-type)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: map-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: map-type)))))))))))))))))))))))))))))))))))))))))) (Program: (STRDECTopDec: (EMPTYStrDec:))))))