(module Error-struct (planet chongkai/sml) (#%module-begin (Program: (STRDECTopDec: (STRUCTUREStrDec: (StrBind: (StrId: Error-struct) (COLONStrExp: (STRUCTStrExp: (SEQStrDec: (DECStrDec: (TYPEDec: (TypBind: (TyVarseq:) (TyCon: position-type) (CONTy: (Tyseq:) (LongTyCon: Source.info-type))))) (SEQStrDec: (DECStrDec: (EXCEPTIONDec: (NEWExBind: (VId: Error)))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: dir))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: FileSys.getDir))) (RECORDAtExp:))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: print))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: file) (ATPat: (IDAtPat: (LongVId: file))) (FIELDPatRow: (Lab: region) (COLONPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: left) (ATPat: (IDAtPat: (LongVId: left))) (FIELDPatRow: (Lab: right) (ATPat: (IDAtPat: (LongVId: right))))))) (CONTy: (Tyseq:) (LongTyCon: Source.region-type))))))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: message))))))))) (ATExp: (SEQAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (RECORDAtExp:))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (IDAtPat: (LongVId: name))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: |name'|))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Path.mkRelative))) (RECORDAtExp: (ExpRow: (Lab: path) (ATExp: (IDAtExp: (LongVId: name))) (ExpRow: (Lab: relativeTo) (ATExp: (IDAtExp: (LongVId: dir))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TextIO.output))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: TextIO.stdErr))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: |name'|))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (STRINGSCon: ":"))))))))))))))))))))))) (PARAtExp: (ATExp: (IDAtExp: (LongVId: file))))) (SEQAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TextIO.output))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: TextIO.stdErr))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Int.toString))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: lin) (ATPat: (IDAtPat: (LongVId: _id12))) (DOTSPatRow:)))) (ATExp: (IDAtExp: (LongVId: _id12)))))))) (IDAtExp: (LongVId: left))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (STRINGSCon: "."))))))))))))))) (SEQAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TextIO.output))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: TextIO.stdErr))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Int.toString))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: col) (ATPat: (IDAtPat: (LongVId: _id13))) (DOTSPatRow:)))) (ATExp: (IDAtExp: (LongVId: _id13)))))))) (IDAtExp: (LongVId: left))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (STRINGSCon: "-"))))))))))))))) (SEQAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TextIO.output))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: TextIO.stdErr))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Int.toString))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: lin) (ATPat: (IDAtPat: (LongVId: _id14))) (DOTSPatRow:)))) (ATExp: (IDAtExp: (LongVId: _id14)))))))) (IDAtExp: (LongVId: right))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (STRINGSCon: "."))))))))))))))) (SEQAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TextIO.output))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: TextIO.stdErr))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Int.toString))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: col) (ATPat: (IDAtPat: (LongVId: _id15))) (DOTSPatRow:)))) (ATExp: (IDAtExp: (LongVId: _id15)))))))) (IDAtExp: (LongVId: right))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (STRINGSCon: ": "))))))))))))))) (SEQAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TextIO.output))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: TextIO.stdErr))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: message))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (STRINGSCon: "\n"))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TextIO.flushOut))) (IDAtExp: (LongVId: TextIO.stdErr)))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: warning))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: message))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: print))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (STRINGSCon: "warning: "))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: message)))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: error))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: message))))))))) (ATExp: (SEQAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: print))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: message))))))))) (PARAtExp: (RAISEExp: (ATExp: (IDAtExp: (LongVId: Error)))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorLab))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: lab)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Lab.toString))) (IDAtExp: (LongVId: lab)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorVId))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: vid)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: VId.toString))) (IDAtExp: (LongVId: vid)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorTyCon))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: tycon)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TyCon.toString))) (IDAtExp: (LongVId: tycon)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorTyVar))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: tyvar)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: TyVar.toString))) (IDAtExp: (LongVId: tyvar)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorStrId))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: strid)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: StrId.toString))) (IDAtExp: (LongVId: strid)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorSigId))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: sigid)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SigId.toString))) (IDAtExp: (LongVId: sigid)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorFunId))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: funid)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: FunId.toString))) (IDAtExp: (LongVId: funid)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorLongVId))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longvid)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: LongVId.toString))) (IDAtExp: (LongVId: longvid)))))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorLongTyCon))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longtycon)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: LongTyCon.toString))) (IDAtExp: (LongVId: longtycon)))))))))))))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: errorLongStrId))) (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: pos))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: s))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: longstrid)))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: error))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: pos))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ^))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: s))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: LongStrId.toString))) (IDAtExp: (LongVId: longstrid)))))))))))))))))))))))))))))))))))))))) (IDSigExp: (SigId: ERROR-sig)))))))))