hamlet/LEXER-sig.ss
(module LEXER-sig (planet chongkai/sml)
  (#%module-begin
   (Program:
    (SIGDECTopDec:
     (SigDec:
      (SigBind:
       (SigId: LEXER-sig)
       (SIGSigExp:
        (SEQSpec:
         (STRUCTURESpec:
          (StrDesc:
           (StrId: UserDeclarations-struct)
           (SIGSigExp:
            (SEQSpec:
             (TYPESpec: (TypDec: (TyVarseq: (TyVar: |'a|) (TyVar: |'b|)) (TyCon: token-type)))
             (SEQSpec: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: pos-type))) (TYPESpec: (TypDec: (TyVarseq:) (TyCon: svalue-type))))))))
         (VALSpec:
          (ValDesc:
           (VId: makeLexer)
           (ARROWTy:
            (PARTy: (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq:) (LongTyCon: string-type))))
            (ARROWTy:
             (CONTy: (Tyseq:) (LongTyCon: unit-type))
             (CONTy:
              (Tyseq: (CONTy: (Tyseq:) (LongTyCon: UserDeclarations.svalue-type)) (CONTy: (Tyseq:) (LongTyCon: UserDeclarations.pos-type)))
              (LongTyCon: UserDeclarations.token-type))))))))))))))