hamlet/PP_GRAMMAR-sig.ss
(module PP_GRAMMAR-sig (planet chongkai/sml)
  (#%module-begin
   (Program:
    (SIGDECTopDec:
     (SigDec:
      (SigBind:
       (SigId: PP_GRAMMAR-sig)
       (SIGSigExp:
        (SEQSpec:
         (SEQSpec:
          (INCLUDESpec:
           (WHERETYPESigExp:
            (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: outstream-type))))
            (TyVarseq:)
            (LongTyCon: outstream-type)
            (CONTy: (Tyseq:) (LongTyCon: TextIO.outstream-type))))
          (EMPTYSpec:))
         (SEQSpec:
          (VALSpec:
           (ValDesc:
            (VId: ppAtom)
            (ARROWTy:
             (RECORDTy:
              (TyRow:
               (Lab: |1|)
               (CONTy: (Tyseq:) (LongTyCon: outstream-type))
               (TyRow:
                (Lab: |2|)
                (CONTy: (Tyseq:) (LongTyCon: int-type))
                (TyRow:
                 (Lab: |3|)
                 (CONTy: (Tyseq:) (LongTyCon: string-type))
                 (TyRow: (Lab: |4|) (CONTy: (Tyseq:) (LongTyCon: Source.info-type)) (TyRow: (Lab: |5|) (CONTy: (Tyseq:) (LongTyCon: string-type))))))))
             (CONTy: (Tyseq:) (LongTyCon: unit-type)))))
          (SEQSpec:
           (VALSpec:
            (ValDesc:
             (VId: ppElem)
             (ARROWTy:
              (RECORDTy:
               (TyRow:
                (Lab: |1|)
                (CONTy: (Tyseq:) (LongTyCon: outstream-type))
                (TyRow:
                 (Lab: |2|)
                 (CONTy: (Tyseq:) (LongTyCon: int-type))
                 (TyRow:
                  (Lab: |3|)
                  (CONTy: (Tyseq:) (LongTyCon: string-type))
                  (TyRow:
                   (Lab: |4|)
                   (CONTy: (Tyseq:) (LongTyCon: Source.info-type))
                   (TyRow:
                    (Lab: |5|)
                    (CONTy:
                     (Tyseq:
                      (PARTy:
                       (ARROWTy:
                        (RECORDTy:
                         (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: outstream-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))
                        (CONTy: (Tyseq:) (LongTyCon: unit-type)))))
                     (LongTyCon: list-type))))))))
              (CONTy: (Tyseq:) (LongTyCon: unit-type)))))
           (SEQSpec:
            (VALSpec:
             (ValDesc:
              (VId: sub)
              (ARROWTy:
               (PARTy:
                (ARROWTy:
                 (RECORDTy:
                  (TyRow:
                   (Lab: |1|)
                   (CONTy: (Tyseq:) (LongTyCon: outstream-type))
                   (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                 (CONTy: (Tyseq:) (LongTyCon: unit-type))))
               (ARROWTy:
                (VARTy: (TyVar: |'a|))
                (ARROWTy:
                 (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: outstream-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))
                 (CONTy: (Tyseq:) (LongTyCon: unit-type)))))))
            (SEQSpec:
             (VALSpec:
              (ValDesc:
               (VId: subs)
               (ARROWTy:
                (PARTy:
                 (ARROWTy:
                  (RECORDTy:
                   (TyRow:
                    (Lab: |1|)
                    (CONTy: (Tyseq:) (LongTyCon: outstream-type))
                    (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                  (CONTy: (Tyseq:) (LongTyCon: unit-type))))
                (ARROWTy:
                 (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: list-type))
                 (ARROWTy:
                  (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: outstream-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))
                  (CONTy: (Tyseq:) (LongTyCon: unit-type)))))))
             (VALSpec:
              (ValDesc:
               (VId: subo)
               (ARROWTy:
                (PARTy:
                 (ARROWTy:
                  (RECORDTy:
                   (TyRow:
                    (Lab: |1|)
                    (CONTy: (Tyseq:) (LongTyCon: outstream-type))
                    (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)) (TyRow: (Lab: |3|) (VARTy: (TyVar: |'a|))))))
                  (CONTy: (Tyseq:) (LongTyCon: unit-type))))
                (ARROWTy:
                 (CONTy: (Tyseq: (VARTy: (TyVar: |'a|))) (LongTyCon: option-type))
                 (ARROWTy:
                  (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: outstream-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: int-type)))))
                  (CONTy: (Tyseq:) (LongTyCon: unit-type)))))))))))))))))))