hamlet/ID-sig.ss
(module ID-sig (planet chongkai/sml)
  (#%module-begin
   (Program:
    (SIGDECTopDec:
     (SigDec:
      (SigBind:
       (SigId: ID-sig)
       (SIGSigExp:
        (SEQSpec:
         (EQTYPESpec: (TypDec: (TyVarseq:) (TyCon: Id-type)))
         (SEQSpec:
          (VALSpec: (ValDesc: (VId: invent) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: unit-type)) (CONTy: (Tyseq:) (LongTyCon: Id-type)))))
          (SEQSpec:
           (VALSpec: (ValDesc: (VId: fromString) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: string-type)) (CONTy: (Tyseq:) (LongTyCon: Id-type)))))
           (SEQSpec:
            (VALSpec: (ValDesc: (VId: toString) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Id-type)) (CONTy: (Tyseq:) (LongTyCon: string-type)))))
            (VALSpec:
             (ValDesc:
              (VId: compare)
              (ARROWTy:
               (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: Id-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Id-type)))))
               (CONTy: (Tyseq:) (LongTyCon: order-type))))))))))))))))