hamlet/LibBase-struct.ss
(module LibBase-struct (planet chongkai/sml)
  (#%module-begin
   (Program:
    (STRDECTopDec:
     (STRUCTUREStrDec:
      (StrBind:
       (StrId: LibBase-struct)
       (COLONStrExp:
        (STRUCTStrExp:
         (SEQStrDec:
          (DECStrDec: (EXCEPTIONDec: (NEWExBind: (VId: Unimplemented) (CONTy: (Tyseq:) (LongTyCon: string-type)))))
          (SEQStrDec:
           (DECStrDec: (EXCEPTIONDec: (NEWExBind: (VId: Impossible) (CONTy: (Tyseq:) (LongTyCon: string-type)))))
           (SEQStrDec:
            (DECStrDec: (EXCEPTIONDec: (NEWExBind: (VId: NotFound))))
            (SEQStrDec:
             (DECStrDec:
              (VALDec:
               (TyVarseq:)
               (RECValBind:
                (PLAINValBind:
                 (ATPat: (IDAtPat: (LongVId: failure)))
                 (FNExp:
                  (Match:
                   (Mrule:
                    (ATPat:
                     (PARAtPat:
                      (ATPat:
                       (RECORDAtPat:
                        (FIELDPatRow:
                         (Lab: module)
                         (ATPat: (IDAtPat: (LongVId: module)))
                         (FIELDPatRow: (Lab: func) (ATPat: (IDAtPat: (LongVId: func))) (FIELDPatRow: (Lab: msg) (ATPat: (IDAtPat: (LongVId: msg))))))))))
                    (RAISEExp:
                     (ATExp:
                      (PARAtExp:
                       (ATExp:
                        (PARAtExp:
                         (APPExp:
                          (ATExp: (IDAtExp: (LongVId: Fail)))
                          (PARAtExp:
                           (ATExp:
                            (PARAtExp:
                             (APPExp:
                              (ATExp: (IDAtExp: (LongVId: concat)))
                              (PARAtExp:
                               (APPExp:
                                (ATExp: (IDAtExp: (LongVId: ::)))
                                (RECORDAtExp:
                                 (ExpRow:
                                  (Lab: |1|)
                                  (ATExp: (IDAtExp: (LongVId: module)))
                                  (ExpRow:
                                   (Lab: |2|)
                                   (APPExp:
                                    (ATExp: (IDAtExp: (LongVId: ::)))
                                    (RECORDAtExp:
                                     (ExpRow:
                                      (Lab: |1|)
                                      (ATExp: (SCONAtExp: (STRINGSCon: ".")))
                                      (ExpRow:
                                       (Lab: |2|)
                                       (APPExp:
                                        (ATExp: (IDAtExp: (LongVId: ::)))
                                        (RECORDAtExp:
                                         (ExpRow:
                                          (Lab: |1|)
                                          (ATExp: (IDAtExp: (LongVId: func)))
                                          (ExpRow:
                                           (Lab: |2|)
                                           (APPExp:
                                            (ATExp: (IDAtExp: (LongVId: ::)))
                                            (RECORDAtExp:
                                             (ExpRow:
                                              (Lab: |1|)
                                              (ATExp: (SCONAtExp: (STRINGSCon: ": ")))
                                              (ExpRow:
                                               (Lab: |2|)
                                               (APPExp:
                                                (ATExp: (IDAtExp: (LongVId: ::)))
                                                (RECORDAtExp:
                                                 (ExpRow:
                                                  (Lab: |1|)
                                                  (ATExp: (IDAtExp: (LongVId: msg)))
                                                  (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))))))))))
             (SEQStrDec:
              (DECStrDec:
               (VALDec:
                (TyVarseq:)
                (PLAINValBind:
                 (ATPat: (IDAtPat: (LongVId: version)))
                 (ATExp:
                  (RECORDAtExp:
                   (ExpRow:
                    (Lab: date)
                    (ATExp: (SCONAtExp: (STRINGSCon: "June 1, 1996")))
                    (ExpRow:
                     (Lab: system)
                     (ATExp: (SCONAtExp: (STRINGSCon: "SML/NJ Library")))
                     (ExpRow:
                      (Lab: version_id)
                      (ATExp:
                       (PARAtExp:
                        (APPExp:
                         (ATExp: (IDAtExp: (LongVId: ::)))
                         (RECORDAtExp:
                          (ExpRow:
                           (Lab: |1|)
                           (ATExp: (SCONAtExp: (INTSCon: 1)))
                           (ExpRow:
                            (Lab: |2|)
                            (APPExp:
                             (ATExp: (IDAtExp: (LongVId: ::)))
                             (RECORDAtExp:
                              (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (INTSCon: 0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))
              (SEQStrDec:
               (DECStrDec:
                (VALDec:
                 (TyVarseq:)
                 (RECValBind:
                  (PLAINValBind:
                   (ATPat: (IDAtPat: (LongVId: f)))
                   (FNExp:
                    (Match:
                     (Mrule:
                      (ATPat:
                       (PARAtPat:
                        (ATPat:
                         (RECORDAtPat:
                          (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: nil))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: l)))))))))
                      (ATExp: (IDAtExp: (LongVId: l))))
                     (Match:
                      (Mrule:
                       (ATPat:
                        (PARAtPat:
                         (ATPat:
                          (RECORDAtPat:
                           (FIELDPatRow:
                            (Lab: |1|)
                            (ATPat:
                             (PARAtPat:
                              (CONPat:
                               (LongVId: ::)
                               (RECORDAtPat:
                                (FIELDPatRow:
                                 (Lab: |1|)
                                 (COLONPat: (ATPat: (IDAtPat: (LongVId: x))) (CONTy: (Tyseq:) (LongTyCon: int-type)))
                                 (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: nil)))))))))
                            (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: l)))))))))
                       (ATExp:
                        (PARAtExp:
                         (APPExp:
                          (ATExp: (IDAtExp: (LongVId: ::)))
                          (RECORDAtExp:
                           (ExpRow:
                            (Lab: |1|)
                            (ATExp: (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Int.toString))) (IDAtExp: (LongVId: x)))))))
                            (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: l))))))))))
                      (Match:
                       (Mrule:
                        (ATPat:
                         (PARAtPat:
                          (ATPat:
                           (RECORDAtPat:
                            (FIELDPatRow:
                             (Lab: |1|)
                             (ATPat:
                              (PARAtPat:
                               (CONPat:
                                (LongVId: ::)
                                (RECORDAtPat:
                                 (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: x))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: r)))))))))
                             (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: l)))))))))
                        (ATExp:
                         (PARAtExp:
                          (APPExp:
                           (ATExp: (IDAtExp: (LongVId: ::)))
                           (RECORDAtExp:
                            (ExpRow:
                             (Lab: |1|)
                             (ATExp: (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Int.toString))) (IDAtExp: (LongVId: x)))))))
                             (ExpRow:
                              (Lab: |2|)
                              (ATExp:
                               (PARAtExp:
                                (APPExp:
                                 (ATExp: (IDAtExp: (LongVId: ::)))
                                 (RECORDAtExp:
                                  (ExpRow:
                                   (Lab: |1|)
                                   (ATExp: (SCONAtExp: (STRINGSCon: ".")))
                                   (ExpRow:
                                    (Lab: |2|)
                                    (ATExp:
                                     (PARAtExp:
                                      (APPExp:
                                       (ATExp: (IDAtExp: (LongVId: f)))
                                       (RECORDAtExp:
                                        (ExpRow:
                                         (Lab: |1|)
                                         (ATExp: (IDAtExp: (LongVId: r)))
                                         (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: l))))))))))))))))))))))))))))))
               (DECStrDec:
                (VALDec:
                 (TyVarseq:)
                 (PLAINValBind:
                  (ATPat: (IDAtPat: (LongVId: banner)))
                  (ATExp:
                   (PARAtExp:
                    (APPExp:
                     (ATExp: (IDAtExp: (LongVId: concat)))
                     (PARAtExp:
                      (ATExp:
                       (PARAtExp:
                        (APPExp:
                         (ATExp: (IDAtExp: (LongVId: ::)))
                         (RECORDAtExp:
                          (ExpRow:
                           (Lab: |1|)
                           (ATExp:
                            (PARAtExp:
                             (APPExp:
                              (ATExp:
                               (PARAtExp:
                                (FNExp:
                                 (Match:
                                  (Mrule:
                                   (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: system) (ATPat: (IDAtPat: (LongVId: _id31))) (DOTSPatRow:))))
                                   (ATExp: (IDAtExp: (LongVId: _id31))))))))
                              (IDAtExp: (LongVId: version)))))
                           (ExpRow:
                            (Lab: |2|)
                            (ATExp:
                             (PARAtExp:
                              (APPExp:
                               (ATExp: (IDAtExp: (LongVId: ::)))
                               (RECORDAtExp:
                                (ExpRow:
                                 (Lab: |1|)
                                 (ATExp: (SCONAtExp: (STRINGSCon: ", Version ")))
                                 (ExpRow:
                                  (Lab: |2|)
                                  (ATExp:
                                   (PARAtExp:
                                    (APPExp:
                                     (ATExp: (IDAtExp: (LongVId: f)))
                                     (RECORDAtExp:
                                      (ExpRow:
                                       (Lab: |1|)
                                       (ATExp:
                                        (PARAtExp:
                                         (APPExp:
                                          (ATExp:
                                           (PARAtExp:
                                            (FNExp:
                                             (Match:
                                              (Mrule:
                                               (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: version_id) (ATPat: (IDAtPat: (LongVId: _id32))) (DOTSPatRow:))))
                                               (ATExp: (IDAtExp: (LongVId: _id32))))))))
                                          (IDAtExp: (LongVId: version)))))
                                       (ExpRow:
                                        (Lab: |2|)
                                        (ATExp:
                                         (PARAtExp:
                                          (APPExp:
                                           (ATExp: (IDAtExp: (LongVId: ::)))
                                           (RECORDAtExp:
                                            (ExpRow:
                                             (Lab: |1|)
                                             (ATExp: (SCONAtExp: (STRINGSCon: ", ")))
                                             (ExpRow:
                                              (Lab: |2|)
                                              (APPExp:
                                               (ATExp: (IDAtExp: (LongVId: ::)))
                                               (RECORDAtExp:
                                                (ExpRow:
                                                 (Lab: |1|)
                                                 (ATExp:
                                                  (PARAtExp:
                                                   (APPExp:
                                                    (ATExp:
                                                     (PARAtExp:
                                                      (FNExp:
                                                       (Match:
                                                        (Mrule:
                                                         (ATPat:
                                                          (RECORDAtPat: (FIELDPatRow: (Lab: date) (ATPat: (IDAtPat: (LongVId: _id33))) (DOTSPatRow:))))
                                                         (ATExp: (IDAtExp: (LongVId: _id33))))))))
                                                    (IDAtExp: (LongVId: version)))))
                                                 (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))))))))))))))))))))))))))))))))
        (IDSigExp: (SigId: LIB_BASE-sig)))))))))