(module QUEUE-sig (planet chongkai/sml) (#%module-begin (Program: (SIGDECTopDec: (SigDec: (SigBind: (SigId: QUEUE-sig) (SIGSigExp: (SEQSpec: (TYPESpec: (TypDec: (TyVarseq: (TyVar: |'a|)) (TyCon: queue-type))) (SEQSpec: (EXCEPTIONSpec: (ExDesc: (VId: Dequeue))) (SEQSpec: (VALSpec: (ValDesc: (VId: mkQueue) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: unit-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: clear) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (CONTy: (Tyseq:) (LongTyCon: unit-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: isEmpty) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (CONTy: (Tyseq:) (LongTyCon: bool-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: enqueue) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (TyRow: (Lab: |2|) (VARTy: (TyVar: |'a|))))) (CONTy: (Tyseq:) (LongTyCon: unit-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: dequeue) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (VARTy: (TyVar: |'a|))))) (SEQSpec: (VALSpec: (ValDesc: (VId: delete) (ARROWTy: (PARTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (TyRow: (Lab: |2|) (PARTy: (ARROWTy: (VARTy: (TyVar: |'a|)) (CONTy: (Tyseq:) (LongTyCon: bool-type)))))))) (CONTy: (Tyseq:) (LongTyCon: unit-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: head) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (VARTy: (TyVar: |'a|))))) (SEQSpec: (VALSpec: (ValDesc: (VId: peek) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: option-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: length) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (CONTy: (Tyseq:) (LongTyCon: int-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: contents) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: list-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: app) (ARROWTy: (PARTy: (ARROWTy: (VARTy: (TyVar: |'a|)) (CONTy: (Tyseq:) (LongTyCon: unit-type)))) (ARROWTy: (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: queue-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: queue-type)) (CONTy: (Tyseq: (VARTy: (TyVar: |'b|))) (LongTyCon: queue-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: queue-type)) (VARTy: (TyVar: |'b|))))))) (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: queue-type)) (VARTy: (TyVar: |'b|)))))))))))))))))))))))))))))