(module Word8-struct (planet chongkai/sml) (#%module-begin (Program: (SIGDECTopDec: (SigDec: (SigBind: (SigId: WORD-sig) (SIGSigExp: (SEQSpec: (SEQSpec: (INCLUDESpec: (WHERETYPESigExp: (SIGSigExp: (TYPESpec: (TypDec: (TyVarseq:) (TyCon: word-type)))) (TyVarseq:) (LongTyCon: word-type) (CONTy: (Tyseq:) (LongTyCon: word8-type)))) (EMPTYSpec:)) (SEQSpec: (VALSpec: (ValDesc: (VId: wordSize) (CONTy: (Tyseq:) (LongTyCon: int-type)))) (SEQSpec: (VALSpec: (ValDesc: (VId: orb) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: andb) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: xorb) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: notb) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: <<) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Word.word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: >>) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Word.word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: ~>>) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: Word.word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: +) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: -) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: *) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: div) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: mod) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: >) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: bool-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: <) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: bool-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: >=) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: bool-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: <=) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: bool-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: compare) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: order-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: min) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: max) (ARROWTy: (RECORDTy: (TyRow: (Lab: |1|) (CONTy: (Tyseq:) (LongTyCon: word-type)) (TyRow: (Lab: |2|) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toString) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: string-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: fromString) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: string-type)) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: word-type))) (LongTyCon: option-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: scan) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: StringCvt.radix-type)) (ARROWTy: (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: char-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: StringCvt.reader-type)) (CONTy: (Tyseq: (CONTy: (Tyseq:) (LongTyCon: word-type)) (VARTy: (TyVar: |'a|))) (LongTyCon: StringCvt.reader-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: fmt) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: StringCvt.radix-type)) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: string-type)))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toInt) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: int-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toIntX) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: int-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: fromInt) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toLargeInt) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: int-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toLargeIntX) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: int-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: fromLargeInt) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: int-type)) (CONTy: (Tyseq:) (LongTyCon: word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toLargeWord) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: Word.word-type))))) (SEQSpec: (VALSpec: (ValDesc: (VId: toLargeWordX) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: word-type)) (CONTy: (Tyseq:) (LongTyCon: Word.word-type))))) (VALSpec: (ValDesc: (VId: fromLargeWord) (ARROWTy: (CONTy: (Tyseq:) (LongTyCon: Word.word-type)) (CONTy: (Tyseq:) (LongTyCon: word-type))))))))))))))))))))))))))))))))))))))))) (STRDECTopDec: (STRUCTUREStrDec: (StrBind: (StrId: Word8-struct) (SEALStrExp: (STRUCTStrExp: (SEQStrDec: (SEQStrDec: (LOCALStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (SEQStrDec: (DECStrDec: (OPENDec: (LongStrId: StringCvt-struct))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: skipWSget))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10542))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10543))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: getc))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: source))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipWS))) (IDAtExp: (LongVId: getc))))) (IDAtExp: (LongVId: source)))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10542))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10543))))))))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: decval))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10544))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48)))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10544)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: hexval))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10545))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: c))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: -))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ord))) (IDAtExp: (LongVId: c))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 55))))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 32))))))))))))))) (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\9)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10545)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: prhex))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10546))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: i))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 48)))))))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: chr))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 55))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: i))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10546)))))))))))))))) (SEQStrDec: (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: conv))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10550))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10551))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: radix))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: w))))))) (ATExp: (LETAtExp: (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: h))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10547))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10548))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: n))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: res))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (IDAtExp: (LongVId: res)))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: div))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: radix))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ::))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: prhex))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: radix))))))))))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res))))))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: =))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 0)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10547))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10548)))))))))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: tostr))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10549))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: n))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: h))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: div))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: radix))))))))))))) (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: ::))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: prhex))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: mod))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: n))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: radix))))))))))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: nil)))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10549)))))))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: String.implode))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: tostr))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Word8help.toInt))) (IDAtExp: (LongVId: w)))))))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10550))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10551))))))))))))))))))))) (SEQStrDec: (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: scan))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10561))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10562))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10563))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: radix))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: getc))) (FIELDPatRow: (Lab: |3|) (ATPat: (IDAtPat: (LongVId: source)))))))) (ATExp: (LETAtExp: (SEQDec: (OPENDec: (LongStrId: StringCvt-struct)) (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (IDAtPat: (LongVId: source))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: skipWS))) (IDAtExp: (LongVId: getc))))) (IDAtExp: (LongVId: source))))))) (SEQDec: (VALDec: (TyVarseq:) (PLAINValBind: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: isDigit))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: factor))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: BIN))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: c))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\1)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 2)))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: OCT))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: c))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: c))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (CHARSCon: #\7)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: false))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <=))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (SCONAtExp: (CHARSCon: #\0))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: c)))))))))))))))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 8)))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: DEC))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: Char.isDigit))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 10)))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: HEX))) (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: Char.isHexDigit))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 16))))))))))))))) (PARAtExp: (ATExp: (IDAtExp: (LongVId: radix))))))) (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: return))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10552))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10553))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: res))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: SOME))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: Word8help.fromInt))) (IDAtExp: (LongVId: res))))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: src)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (RAISEExp: (ATExp: (IDAtExp: (LongVId: Overflow)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: res))) (ExpRow: (Lab: |2|) (ATExp: (SCONAtExp: (INTSCon: 256)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10552))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10553)))))))))))))))))) (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: dig1))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10556))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: NONE))))) (ATExp: (IDAtExp: (LongVId: NONE)))) (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (PARAtPat: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))))))) (ATExp: (LETAtExp: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: digr))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10554))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10555))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: res))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: return))) (IDAtExp: (LongVId: res))))) (IDAtExp: (LongVId: src)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: c))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digr))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: +))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: *))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: factor))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: res))))))))) (ExpRow: (Lab: |2|) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: hexval))) (IDAtExp: (LongVId: c))))))))))))))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: return))) (IDAtExp: (LongVId: res))))) (IDAtExp: (LongVId: src))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: isDigit))) (IDAtExp: (LongVId: c))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10554))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10555)))))))))))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: digr))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: hexval))) (IDAtExp: (LongVId: c))))))))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (ATExp: (IDAtExp: (LongVId: NONE))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: isDigit))) (IDAtExp: (LongVId: c))))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10556))))))))))))) (SEQDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: getdigs))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10557))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10558))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: after0))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: return))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: after0)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: res))) (ATExp: (IDAtExp: (LongVId: res))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: dig1))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10557))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10558)))))))))))))))))) (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: hexprefix))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10559))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10560))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (IDAtPat: (LongVId: after0))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: true))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getdigs))) (IDAtExp: (LongVId: after0))))) (IDAtExp: (LongVId: src)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: false))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\x))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getdigs))) (IDAtExp: (LongVId: after0))))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\X))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: rest))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getdigs))) (IDAtExp: (LongVId: after0))))) (IDAtExp: (LongVId: rest)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (WILDCARDAtPat:)))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getdigs))) (IDAtExp: (LongVId: after0))))) (IDAtExp: (LongVId: src)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: return))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: after0))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: src))))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: <>))) (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: radix))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: HEX)))))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10559))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10560)))))))))))))))))))))))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\0))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: after0))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (RECORDAtPat: (FIELDPatRow: (Lab: |1|) (ATPat: (SCONAtPat: (CHARSCon: #\w))) (FIELDPatRow: (Lab: |2|) (ATPat: (IDAtPat: (LongVId: src2))))))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: hexprefix))) (IDAtExp: (LongVId: after0))))) (IDAtExp: (LongVId: src2)))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (WILDCARDAtPat:)))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: hexprefix))) (IDAtExp: (LongVId: after0))))) (IDAtExp: (LongVId: after0)))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: return))) (SCONAtExp: (INTSCon: 0))))) (IDAtExp: (LongVId: after0)))))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: after0)))))))))) (Match: (Mrule: (ATPat: (PARAtPat: (CONPat: (LongVId: SOME) (WILDCARDAtPat:)))) (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: dig1))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: source)))))))))) (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: NONE))) (ATExp: (IDAtExp: (LongVId: NONE)))))))))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: getc))) (IDAtExp: (LongVId: source)))))))))))))) (PARAtExp: (ATExp: (RECORDAtExp: (ExpRow: (Lab: |1|) (ATExp: (IDAtExp: (LongVId: _id10561))) (ExpRow: (Lab: |2|) (ATExp: (IDAtExp: (LongVId: _id10562))) (ExpRow: (Lab: |3|) (ATExp: (IDAtExp: (LongVId: _id10563))))))))))))))))))))))) (DECStrDec: (VALDec: (TyVarseq:) (RECValBind: (PLAINValBind: (ATPat: (IDAtPat: (LongVId: fromString))) (FNExp: (Match: (Mrule: (ATPat: (IDAtPat: (LongVId: _id10564))) (APPExp: (ATExp: (PARAtExp: (FNExp: (Match: (Mrule: (ATPat: (PARAtPat: (ATPat: (IDAtPat: (LongVId: s))))) (ATExp: (PARAtExp: (APPExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scanString))) (PARAtExp: (ATExp: (PARAtExp: (APPExp: (ATExp: (IDAtExp: (LongVId: scan))) (IDAtExp: (LongVId: HEX))))))))) (IDAtExp: (LongVId: s)))))))))) (PARAtExp: (ATExp: (PARAtExp: (ATExp: (IDAtExp: (LongVId: _id10564)))))))))))))))) (DECStrDec: (OPENDec: (LongStrId: Word8help-struct)))) (SEQStrDec: (EMPTYStrDec:) (EMPTYStrDec:)))) (IDSigExp: (SigId: WORD-sig))))))))))