declare module Sysdeclare module Readdirdeclare module Filepatvariable 'SELF' val '"$self"'variable 'Sys->PATH' val '"$Sys"'variable 'Sys->Maxint' val '2147483647'variable 'Sys->QTDIR' val '128'variable 'Sys->QTAPPEND' val '64'variable 'Sys->QTEXCL' val '32'variable 'Sys->QTAUTH' val '8'variable 'Sys->QTTMP' val '4'variable 'Sys->QTFILE' val '0'variable 'Sys->nulldir' val 'Dir(nil, nil, nil, nil, (-1, -1, -1), -1, -1, -1, -1, -1, -1)'variable 'Sys->zerodir' val 'Dir(nil, nil, nil, nil, (0, 0, 0), 0, 0, 0, 0, 0, 0)'variable 'Sys->ATOMICIO' val '8192'variable 'Sys->SEEKSTART' val '0'variable 'Sys->SEEKRELA' val '1'variable 'Sys->SEEKEND' val '2'variable 'Sys->NAMEMAX' val '256'variable 'Sys->ERRMAX' val '128'variable 'Sys->WAITLEN' val '192'variable 'Sys->OREAD' val '0'variable 'Sys->OWRITE' val '1'variable 'Sys->ORDWR' val '2'variable 'Sys->OTRUNC' val '16'variable 'Sys->ORCLOSE' val '64'variable 'Sys->OEXCL' val '4096'variable 'Sys->DMDIR' val '-2147483648'variable 'Sys->DMAPPEND' val '1073741824'variable 'Sys->DMEXCL' val '536870912'variable 'Sys->DMAUTH' val '134217728'variable 'Sys->DMTMP' val '67108864'variable 'Sys->MREPL' val '0'variable 'Sys->MBEFORE' val '1'variable 'Sys->MAFTER' val '2'variable 'Sys->MCREATE' val '4'variable 'Sys->MCACHE' val '16'variable 'Sys->NEWFD' val '(1)'variable 'Sys->FORKFD' val '(2)'variable 'Sys->NEWNS' val '(4)'variable 'Sys->FORKNS' val '(8)'variable 'Sys->NEWPGRP' val '(16)'variable 'Sys->NODEVS' val '(32)'variable 'Sys->NEWENV' val '(64)'variable 'Sys->FORKENV' val '(128)'variable 'Sys->EXPWAIT' val '0'variable 'Sys->EXPASYNC' val '1'variable 'Sys->UTFmax' val '4'variable 'Sys->UTFerror' val '65533'variable 'Sys->Runemax' val '1114111'variable 'Sys->Runemask' val '2097151'variable 'Readdir->PATH' val '"/dis/lib/r..."'variable 'Readdir->NAME' val 'iota'variable 'Readdir->ATIME' val 'iota'variable 'Readdir->MTIME' val 'iota'variable 'Readdir->SIZE' val 'iota'variable 'Readdir->NONE' val 'iota'variable 'Readdir->DESCENDING' val '(32)'variable 'Readdir->COMPACT' val '(16)'variable 'PATH' val '"/dis/lib/f..."'typecheck tree: fn(){} fn(pat: string): list of string 0 0 name expand fn(pat: string): list of string 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name sys nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name sys nothing 0 0 load Sys 0 0 -> nothing 0 0 name Sys nothing 0 0 name PATH nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name rdir nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name rdir nothing 0 0 load Readdir 0 0 -> nothing 0 0 name Readdir nothing 0 0 name PATH nothing 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 name elem nothing 0 0 call nothing 0 0 -> nothing 0 0 name sys nothing 0 0 name tokenize nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 const / string 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name elem nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 return nothing 0 0 call nothing 0 0 name filepat1 nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 const (0) int 0 0 seq nothing 0 0 vardecl list of string 0 0 seq nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 index nothing 0 0 name pat nothing 0 0 const (0) int 0 0 const (47) int 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 :: nothing 0 0 const / string 0 0 name nil polymorphic type 0 0 seq nothing 0 0 for nothing 0 0 != nothing 0 0 name elem nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 call nothing 0 0 name filepat1 nothing 0 0 seq nothing 0 0 hd nothing 0 0 name elem nothing 0 0 seq nothing 0 0 name files nothing 0 0 seq nothing 0 0 != nothing 0 0 tl nothing 0 0 name elem nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 break nothing 0 0 seq nothing 0 0 = nothing 0 0 name elem nothing 0 0 tl nothing 0 0 name elem nothing 0 0 seq nothing 0typecheck tree: fn(){} fn(pat: string, files: list of string, mustbedir: int): list of string 0 0 name filepat1 fn(pat: string, files: list of string, mustbedir: int): list of string 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 return nothing 0 0 call nothing 0 0 name filepatdir nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 const string 0 0 seq nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 name mustbedir nothing 0 0 seq nothing 0 0 vardecl list of string 0 0 seq nothing 0 0 seq nothing 0 0 for nothing 0 0 != nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name r nothing 0 0 :: nothing 0 0 hd nothing 0 0 name files nothing 0 0 name r nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 tl nothing 0 0 name files nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 name r nothing 0 0 seq nothing 0 0 vardecli nothing 0 0 vardecl list of string 0 0 seq nothing 0 0 = nothing 0 0 name nfiles nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 for nothing 0 0 != nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name nfiles nothing 0 0 call nothing 0 0 name filepatdir nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 hd nothing 0 0 name files nothing 0 0 seq nothing 0 0 name nfiles nothing 0 0 seq nothing 0 0 name mustbedir nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 tl nothing 0 0 name files nothing 0 0 seq nothing 0 0 return nothing 0 0 name nfiles nothing 0 0typecheck tree: fn(){} fn(pat: string, dir: string, files: list of string, mustbedir: int): list of string 0 0 name filepatdir fn(pat: string, dir: string, files: list of string, mustbedir: int): list of string 0 0 seq nothing 0 0 if nothing 0 0 || nothing 0 0 == nothing 0 0 name pat nothing 0 0 const . string 0 0 == nothing 0 0 name pat nothing 0 0 const .. string 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 if nothing 0 0 || nothing 0 0 == nothing 0 0 name dir nothing 0 0 const / string 0 0 == nothing 0 0 name dir nothing 0 0 const string 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 :: nothing 0 0 + nothing 0 0 name dir nothing 0 0 name pat nothing 0 0 name files nothing 0 0 = nothing 0 0 name files nothing 0 0 :: nothing 0 0 + nothing 0 0 + nothing 0 0 name dir nothing 0 0 const / string 0 0 name pat nothing 0 0 name files nothing 0 0 seq nothing 0 0 return nothing 0 0 name files nothing 0 0 seq nothing 0 0 := nothing 0 0 name dirname nothing 0 0 name dir nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name dir nothing 0 0 const string 0 0 seq nothing 0 0 = nothing 0 0 name dirname nothing 0 0 const . string 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name d nothing 0 0 seq nothing 0 0 name n nothing 0 0 call nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name init nothing 0 0 seq nothing 0 0 name dirname nothing 0 0 seq nothing 0 0 | nothing 0 0 | nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name NAME nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name DESCENDING nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name COMPACT nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name d nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 return nothing 0 0 name files nothing 0 0 seq nothing 0 0 seq nothing 0 0 := nothing 0 0 name i nothing 0 0 const (1) int 0 0 for nothing 0 0 < nothing 0 0 name i nothing 0 0 name n nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 . nothing 0 0 index nothing 0 0 name d nothing 0 0 - nothing 0 0 name i nothing 0 0 const (1) int 0 0 name name nothing 0 0 . nothing 0 0 index nothing 0 0 name d nothing 0 0 name i nothing 0 0 name name nothing 0 0 seq nothing 0 0 scope nothing 0 0 typecheck tree: fn(){} fn(pat: string, name: string): int 0 0 name match fn(pat: string, name: string): int 0 0 seq nothing 0 0 := nothing 0 0 name n nothing 0 0 const (0) int 0 0 seq nothing 0 0 := nothing 0 0 name p nothing 0 0 const (0) int 0 0 seq nothing 0 0 for nothing 0 0 < nothing 0 0 name p nothing 0 0 len nothing 0 0 name pat nothing 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 := nothing 0 0 name r nothing 0 0 index nothing 0 0 name pat nothing 0 0 ++ nothing 0 0 name p nothing 0 0 seq nothing 0 0 case nothing 0 0 name r nothing 0 0 seq nothing 0 0 label nothing 0 0 seq nothing 0 0 const (42) int 0 0 scope nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 = nothing 0 0 name pat nothing 0 0 slice nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name p nothing 0 0 nothing nothing 0 0 if nothing 0 0 == nothing 0 0 len nothing 0 0 name pat nothing 0 0 const (0) int 0 0 seq nothing 0 0 return nothing 0 0 const (1) int 0 0 for nothing 0 0 <= nothing 0 0 name n nothing 0 0 len nothing 0 0 name name nothing 0 0 seq nothing 0 0 if nothing 0 0 call nothing 0 0 name match nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 slice nothing 0 0 name name nothing 0 0 seq nothing 0 0 name n nothing 0 0 nothing nothing 0 0 seq nothing 0 0 return nothing 0 0 const (1) int 0 0 ++ nothing 0 0 name n nothing 0 0 return nothing 0 0 const (0) int 0 0 seq nothing 0 0 label nothing 0 0 seq nothing 0 0 const (91) int 0 0 scope nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name n nothing 0 0 typecheck tree: fn(){} fn(pat: string, p: int): (int, int, int) 0 0 name range fn(pat: string, p: int): (int, int, int) 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name q nothing 0 0 seq nothing 0 0 name lo nothing 0 0 seq nothing 0 0 name nil polymorphic type 0 0 call nothing 0 0 name char nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name p nothing 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name q1 nothing 0 0 seq nothing 0 0 name hi nothing 0 0 seq nothing 0 0 name esc nothing 0 0 call nothing 0 0 name char nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name q nothing 0 0 seq nothing 0 0 if nothing 0 0 && nothing 0 0 ! nothing 0 0 name esc nothing 0 0Lines 1–500 of 2679. Load more
declare module Sys declare module Readdir declare module Filepat variable 'SELF' val '"$self"' variable 'Sys->PATH' val '"$Sys"' variable 'Sys->Maxint' val '2147483647' variable 'Sys->QTDIR' val '128' variable 'Sys->QTAPPEND' val '64' variable 'Sys->QTEXCL' val '32' variable 'Sys->QTAUTH' val '8' variable 'Sys->QTTMP' val '4' variable 'Sys->QTFILE' val '0' variable 'Sys->nulldir' val 'Dir(nil, nil, nil, nil, (-1, -1, -1), -1, -1, -1, -1, -1, -1)' variable 'Sys->zerodir' val 'Dir(nil, nil, nil, nil, (0, 0, 0), 0, 0, 0, 0, 0, 0)' variable 'Sys->ATOMICIO' val '8192' variable 'Sys->SEEKSTART' val '0' variable 'Sys->SEEKRELA' val '1' variable 'Sys->SEEKEND' val '2' variable 'Sys->NAMEMAX' val '256' variable 'Sys->ERRMAX' val '128' variable 'Sys->WAITLEN' val '192' variable 'Sys->OREAD' val '0' variable 'Sys->OWRITE' val '1' variable 'Sys->ORDWR' val '2' variable 'Sys->OTRUNC' val '16' variable 'Sys->ORCLOSE' val '64' variable 'Sys->OEXCL' val '4096' variable 'Sys->DMDIR' val '-2147483648' variable 'Sys->DMAPPEND' val '1073741824' variable 'Sys->DMEXCL' val '536870912' variable 'Sys->DMAUTH' val '134217728' variable 'Sys->DMTMP' val '67108864' variable 'Sys->MREPL' val '0' variable 'Sys->MBEFORE' val '1' variable 'Sys->MAFTER' val '2' variable 'Sys->MCREATE' val '4' variable 'Sys->MCACHE' val '16' variable 'Sys->NEWFD' val '(1)' variable 'Sys->FORKFD' val '(2)' variable 'Sys->NEWNS' val '(4)' variable 'Sys->FORKNS' val '(8)' variable 'Sys->NEWPGRP' val '(16)' variable 'Sys->NODEVS' val '(32)' variable 'Sys->NEWENV' val '(64)' variable 'Sys->FORKENV' val '(128)' variable 'Sys->EXPWAIT' val '0' variable 'Sys->EXPASYNC' val '1' variable 'Sys->UTFmax' val '4' variable 'Sys->UTFerror' val '65533' variable 'Sys->Runemax' val '1114111' variable 'Sys->Runemask' val '2097151' variable 'Readdir->PATH' val '"/dis/lib/r..."' variable 'Readdir->NAME' val 'iota' variable 'Readdir->ATIME' val 'iota' variable 'Readdir->MTIME' val 'iota' variable 'Readdir->SIZE' val 'iota' variable 'Readdir->NONE' val 'iota' variable 'Readdir->DESCENDING' val '(32)' variable 'Readdir->COMPACT' val '(16)' variable 'PATH' val '"/dis/lib/f..."' typecheck tree: fn(){} fn(pat: string): list of string 0 0 name expand fn(pat: string): list of string 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name sys nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name sys nothing 0 0 load Sys 0 0 -> nothing 0 0 name Sys nothing 0 0 name PATH nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name rdir nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name rdir nothing 0 0 load Readdir 0 0 -> nothing 0 0 name Readdir nothing 0 0 name PATH nothing 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 name elem nothing 0 0 call nothing 0 0 -> nothing 0 0 name sys nothing 0 0 name tokenize nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 const / string 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name elem nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 return nothing 0 0 call nothing 0 0 name filepat1 nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 const (0) int 0 0 seq nothing 0 0 vardecl list of string 0 0 seq nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 index nothing 0 0 name pat nothing 0 0 const (0) int 0 0 const (47) int 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 :: nothing 0 0 const / string 0 0 name nil polymorphic type 0 0 seq nothing 0 0 for nothing 0 0 != nothing 0 0 name elem nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 call nothing 0 0 name filepat1 nothing 0 0 seq nothing 0 0 hd nothing 0 0 name elem nothing 0 0 seq nothing 0 0 name files nothing 0 0 seq nothing 0 0 != nothing 0 0 tl nothing 0 0 name elem nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 break nothing 0 0 seq nothing 0 0 = nothing 0 0 name elem nothing 0 0 tl nothing 0 0 name elem nothing 0 0 seq nothing 0 typecheck tree: fn(){} fn(pat: string, files: list of string, mustbedir: int): list of string 0 0 name filepat1 fn(pat: string, files: list of string, mustbedir: int): list of string 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 return nothing 0 0 call nothing 0 0 name filepatdir nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 const string 0 0 seq nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 name mustbedir nothing 0 0 seq nothing 0 0 vardecl list of string 0 0 seq nothing 0 0 seq nothing 0 0 for nothing 0 0 != nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name r nothing 0 0 :: nothing 0 0 hd nothing 0 0 name files nothing 0 0 name r nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 tl nothing 0 0 name files nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 name r nothing 0 0 seq nothing 0 0 vardecli nothing 0 0 vardecl list of string 0 0 seq nothing 0 0 = nothing 0 0 name nfiles nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 for nothing 0 0 != nothing 0 0 name files nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 = nothing 0 0 name nfiles nothing 0 0 call nothing 0 0 name filepatdir nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 hd nothing 0 0 name files nothing 0 0 seq nothing 0 0 name nfiles nothing 0 0 seq nothing 0 0 name mustbedir nothing 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 tl nothing 0 0 name files nothing 0 0 seq nothing 0 0 return nothing 0 0 name nfiles nothing 0 0 typecheck tree: fn(){} fn(pat: string, dir: string, files: list of string, mustbedir: int): list of string 0 0 name filepatdir fn(pat: string, dir: string, files: list of string, mustbedir: int): list of string 0 0 seq nothing 0 0 if nothing 0 0 || nothing 0 0 == nothing 0 0 name pat nothing 0 0 const . string 0 0 == nothing 0 0 name pat nothing 0 0 const .. string 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 if nothing 0 0 || nothing 0 0 == nothing 0 0 name dir nothing 0 0 const / string 0 0 == nothing 0 0 name dir nothing 0 0 const string 0 0 seq nothing 0 0 = nothing 0 0 name files nothing 0 0 :: nothing 0 0 + nothing 0 0 name dir nothing 0 0 name pat nothing 0 0 name files nothing 0 0 = nothing 0 0 name files nothing 0 0 :: nothing 0 0 + nothing 0 0 + nothing 0 0 name dir nothing 0 0 const / string 0 0 name pat nothing 0 0 name files nothing 0 0 seq nothing 0 0 return nothing 0 0 name files nothing 0 0 seq nothing 0 0 := nothing 0 0 name dirname nothing 0 0 name dir nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name dir nothing 0 0 const string 0 0 seq nothing 0 0 = nothing 0 0 name dirname nothing 0 0 const . string 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name d nothing 0 0 seq nothing 0 0 name n nothing 0 0 call nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name init nothing 0 0 seq nothing 0 0 name dirname nothing 0 0 seq nothing 0 0 | nothing 0 0 | nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name NAME nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name DESCENDING nothing 0 0 -> nothing 0 0 name rdir nothing 0 0 name COMPACT nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name d nothing 0 0 name nil polymorphic type 0 0 seq nothing 0 0 return nothing 0 0 name files nothing 0 0 seq nothing 0 0 seq nothing 0 0 := nothing 0 0 name i nothing 0 0 const (1) int 0 0 for nothing 0 0 < nothing 0 0 name i nothing 0 0 name n nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 . nothing 0 0 index nothing 0 0 name d nothing 0 0 - nothing 0 0 name i nothing 0 0 const (1) int 0 0 name name nothing 0 0 . nothing 0 0 index nothing 0 0 name d nothing 0 0 name i nothing 0 0 name name nothing 0 0 seq nothing 0 0 scope nothing 0 0 typecheck tree: fn(){} fn(pat: string, name: string): int 0 0 name match fn(pat: string, name: string): int 0 0 seq nothing 0 0 := nothing 0 0 name n nothing 0 0 const (0) int 0 0 seq nothing 0 0 := nothing 0 0 name p nothing 0 0 const (0) int 0 0 seq nothing 0 0 for nothing 0 0 < nothing 0 0 name p nothing 0 0 len nothing 0 0 name pat nothing 0 0 seq nothing 0 0 scope nothing 0 0 seq nothing 0 0 := nothing 0 0 name r nothing 0 0 index nothing 0 0 name pat nothing 0 0 ++ nothing 0 0 name p nothing 0 0 seq nothing 0 0 case nothing 0 0 name r nothing 0 0 seq nothing 0 0 label nothing 0 0 seq nothing 0 0 const (42) int 0 0 scope nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 = nothing 0 0 name pat nothing 0 0 slice nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name p nothing 0 0 nothing nothing 0 0 if nothing 0 0 == nothing 0 0 len nothing 0 0 name pat nothing 0 0 const (0) int 0 0 seq nothing 0 0 return nothing 0 0 const (1) int 0 0 for nothing 0 0 <= nothing 0 0 name n nothing 0 0 len nothing 0 0 name name nothing 0 0 seq nothing 0 0 if nothing 0 0 call nothing 0 0 name match nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 slice nothing 0 0 name name nothing 0 0 seq nothing 0 0 name n nothing 0 0 nothing nothing 0 0 seq nothing 0 0 return nothing 0 0 const (1) int 0 0 ++ nothing 0 0 name n nothing 0 0 return nothing 0 0 const (0) int 0 0 seq nothing 0 0 label nothing 0 0 seq nothing 0 0 const (91) int 0 0 scope nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 seq nothing 0 0 if nothing 0 0 == nothing 0 0 name n nothing 0 0 typecheck tree: fn(){} fn(pat: string, p: int): (int, int, int) 0 0 name range fn(pat: string, p: int): (int, int, int) 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name q nothing 0 0 seq nothing 0 0 name lo nothing 0 0 seq nothing 0 0 name nil polymorphic type 0 0 call nothing 0 0 name char nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name p nothing 0 0 seq nothing 0 0 := nothing 0 0 tuple nothing 0 0 seq nothing 0 0 name q1 nothing 0 0 seq nothing 0 0 name hi nothing 0 0 seq nothing 0 0 name esc nothing 0 0 call nothing 0 0 name char nothing 0 0 seq nothing 0 0 name pat nothing 0 0 seq nothing 0 0 name q nothing 0 0 seq nothing 0 0 if nothing 0 0 && nothing 0 0 ! nothing 0 0 name esc nothing 0 0