@@ -6449,6 +6449,11 @@
6449++ import-to-itype
6449++ import-to-itype
6450 |= node=*
6450 |= node=*
6451 ^- (unit itype)
6451 ^- (unit itype)
6452+ (import-to-itype-standard node ~)
6454+++ import-to-itype-standard
6455+ |= [node=* standard=(unit ischeme)]
6452 ?@ node ~
6457 ?@ node ~
6453 ?+ -.node ~
6458 ?+ -.node ~
6454 %noun ?:(=(node [%noun ~]) `[%noun ~] ~)
6459 %noun ?:(=(node [%noun ~]) `[%noun ~] ~)
@@ -6490,18 +6495,24 @@
6490 ?: |(=(%map name) =(%mop name) =(%jar name) =(%jug name)) 2
6495 ?: |(=(%map name) =(%mop name) =(%jar name) =(%jug name)) 2
6492 ?: =(arity 0) ~
6497 ?: =(arity 0) ~
6493− =/ args=(unit (list itype)) (import-to-itypes +>.node)
6498+ =/ args=(unit (list itype)) (import-to-itypes-standard +>.node standard)
6494 ?~ args ~
6499 ?~ args ~
6495 ?. =(arity (lent u.args)) ~
6500 ?. =(arity (lent u.args)) ~
6496 =/ keyed=(unit [types=(list itype) sub=isub]) (itype-collection-keys name u.args ~)
6501 =/ keyed=(unit [types=(list itype) sub=isub]) (itype-collection-keys name u.args ~)
6497 ?~ keyed ~
6502 ?~ keyed ~
6504+ ?. ?=([* ~] types.u.keyed) ~
6505+ ?~ standard `[%collection name types.u.keyed]
6506+ ?. (standard-unit-template u.standard /lib/jibb/prelude/jibb) ~
6507+ =/ nil=itype [%const [%null %n 0 '~']]
6508+ `[%union ~[nil [%cell nil [%face %u i.types.u.keyed]]] `[/lib/jibb/prelude/jibb %unit] `%unit types.u.keyed]
6498 `[%collection name types.u.keyed]
6509 `[%collection name types.u.keyed]
6500 :: Hoon's ordinary ? mold is the fork of its two %f singletons.
6511 :: Hoon's ordinary ? mold is the fork of its two %f singletons.
6501 =/ raw=* +.node
6512 =/ raw=* +.node
6502 ?: |(=(raw ~[[%atom %f `0] [%atom %f `1]]) =(raw ~[[%atom %f `1] [%atom %f `0]]))
6513 ?: |(=(raw ~[[%atom %f `0] [%atom %f `1]]) =(raw ~[[%atom %f `1] [%atom %f `0]]))
6503 `[%flag ~]
6514 `[%flag ~]
6504− =/ cases=(unit (list itype)) (import-to-itypes raw)
6515+ =/ cases=(unit (list itype)) (import-to-itypes-standard raw standard)
6505 ?~ cases ~
6516 ?~ cases ~
6506 ?~ u.cases ~
6517 ?~ u.cases ~
6507 ?~ t.u.cases ~
6518 ?~ t.u.cases ~
@@ -6541,10 +6552,15 @@
6541++ import-to-itypes
6552++ import-to-itypes
6542 |= nodes=*
6553 |= nodes=*
6543 ^- (unit (list itype))
6554 ^- (unit (list itype))
6555+ (import-to-itypes-standard nodes ~)
6557+++ import-to-itypes-standard
6558+ |= [nodes=* standard=(unit ischeme)]
6559+ ^- (unit (list itype))
6544 ?@ nodes ?:(=(nodes 0) `~ ~)
6560 ?@ nodes ?:(=(nodes 0) `~ ~)
6545− =/ first (import-to-itype -.nodes)
6561+ =/ first (import-to-itype-standard -.nodes standard)
6546 ?~ first ~
6562 ?~ first ~
6547− =/ rest $(nodes +.nodes)
6563+ =/ rest $(nodes +.nodes, standard standard)
6548 ?~ rest ~
6564 ?~ rest ~
6549 `[u.first u.rest]
6565 `[u.first u.rest]
@@ -6571,9 +6587,10 @@
6571 ?. (levy t.cases |=(t=itype =(%disjoint (union-relate first (import-type-pattern t))))) |
6587 ?. (levy t.cases |=(t=itype =(%disjoint (union-relate first (import-type-pattern t))))) |
6572 $(cases t.cases)
6588 $(cases t.cases)
6574−++ find-imported-mold
6590+++ find-imported-mold-prelude
6575− |= [module=term name=term externals=iexternals surs=(list term)]
6591+ |= [module=term name=term externals=iexternals surs=(list term) prelude=ifile]
6576 ^- (unit itype)
6592 ^- (unit itype)
6593+ =/ standard=(unit ischeme) (find-jibb-mold %unit prelude)
6577 ?. (lien surs |=(n=term =(n module))) ~
6594 ?. (lien surs |=(n=term =(n module))) ~
6578 =/ found=iexternals
6595 =/ found=iexternals
6579 (skim externals |=(e=[module=term name=term result=*] &(=(module module.e) =(name name.e))))
6596 (skim externals |=(e=[module=term name=term result=*] &(=(module module.e) =(name name.e))))
@@ -6584,13 +6601,17 @@
6584 ?. ?=(%& -.result) ~
6601 ?. ?=(%& -.result) ~
6585 =/ node=* +.result
6602 =/ node=* +.result
6586 ?. (imported-faces-valid node) ~
6603 ?. (imported-faces-valid node) ~
6587− ?@ node (import-to-itype node)
6604+ ?@ node (import-to-itype-standard node standard)
6588− ?: ?=(%ref -.node) (import-to-itype node)
6605+ ?: ?=(%ref -.node) (import-to-itype-standard node standard)
6589 =/ pattern=(unit irec-pattern) (rec-pattern node module name)
6606 =/ pattern=(unit irec-pattern) (rec-pattern node module name)
6590− ?~ pattern (import-to-itype node)
6607+ ?~ pattern (import-to-itype-standard node standard)
6591− ?. has.u.pattern (import-to-itype node)
6608+ ?. has.u.pattern (import-to-itype-standard node standard)
6592 `[%recursive module name `(crip "{(trip name)}.{(trip module)}")]
6609 `[%recursive module name `(crip "{(trip name)}.{(trip module)}")]
6611+++ find-imported-mold
6612+ |= [module=term name=term externals=iexternals surs=(list term)]
6614+ (find-imported-mold-prelude module name externals surs *ifile)
6595++ collect-sur-imports
6616++ collect-sur-imports
6596 |= imports=(list import)
6617 |= imports=(list import)
@@ -6608,9 +6629,10 @@
6608 [mark.i.imports $(imports t.imports)]
6629 [mark.i.imports $(imports t.imports)]
6609 $(imports t.imports)
6630 $(imports t.imports)
6611−++ find-imported-mark
6632+++ find-imported-mark-prelude
6612− |= [name=term externals=imark-externals marks=(list term)]
6633+ |= [name=term externals=imark-externals marks=(list term) prelude=ifile]
6613 ^- (unit itype)
6634 ^- (unit itype)
6635+ =/ standard=(unit ischeme) (find-jibb-mold %unit prelude)
6614 ?. (unique-value-name name marks) ~
6636 ?. (unique-value-name name marks) ~
6615 =/ found=imark-externals
6637 =/ found=imark-externals
6616 (skim externals |=(e=[mark=term result=*] =(name mark.e)))
6638 (skim externals |=(e=[mark=term result=*] =(name mark.e)))
@@ -6620,7 +6642,12 @@
6620 ?@ result ~
6642 ?@ result ~
6621 ?. ?=(%& -.result) ~
6643 ?. ?=(%& -.result) ~
6622 ?. (imported-faces-valid +.result) ~
6644 ?. (imported-faces-valid +.result) ~
6623− (import-to-itype +.result)
6645+ (import-to-itype-standard +.result standard)
6647+++ find-imported-mark
6648+ |= [name=term externals=imark-externals marks=(list term)]
6650+ (find-imported-mark-prelude name externals marks *ifile)
6625++ find-jibb-interface
6652++ find-jibb-interface
6626 |= [face=term imports=ijimports]
6653 |= [face=term imports=ijimports]
@@ -7035,12 +7062,12 @@
7035 ?^ vars.u.found ~
7062 ?^ vars.u.found ~
7036 `[(itype-in-import typ.u.found u.iface i.t.names.sh prelude.state) state]
7063 `[(itype-in-import typ.u.found u.iface i.t.names.sh prelude.state) state]
7037 =/ found=(unit itype)
7064 =/ found=(unit itype)
7038− (find-imported-mold i.t.names.sh n externals.state surs.state)
7065+ (find-imported-mold-prelude i.t.names.sh n externals.state surs.state ?~(prelude.state *ifile u.prelude.state))
7039 ?~ found ~
7066 ?~ found ~
7040 `[u.found state]
7067 `[u.found state]
7041 ?: (lien marks.state |=(x=term =(x n)))
7068 ?: (lien marks.state |=(x=term =(x n)))
7042 ?^ (find-simple-mold n molds.state) ~
7069 ?^ (find-simple-mold n molds.state) ~
7043− =/ imported=(unit itype) (find-imported-mark n mark-externals.state marks.state)
7070+ =/ imported=(unit itype) (find-imported-mark-prelude n mark-externals.state marks.state ?~(prelude.state *ifile u.prelude.state))
7044 ?~ imported ~
7071 ?~ imported ~
7045 `[u.imported state]
7072 `[u.imported state]
7046 ?: (lien active.state |=(x=term =(x n))) ~
7073 ?: (lien active.state |=(x=term =(x n))) ~
@@ -10325,11 +10352,6 @@
10325 =. entry entry(source src, target dst)
10352 =. entry entry(source src, target dst)
10326 `[entry u.rest]
10353 `[entry u.rest]
10328−++ add-supported-defs
10329− |= [ds=(list def) all-defs=(list def) checked=(map term def) heads=(unit igate-prelude-evidence) env=ienv molds=imolds globals=(list term) externals=iexternals surs=(list term) mark-externals=imark-externals marks=(list term) jimports=ijimports reserved-molds=(list term) at=path prelude=(unit ifile) artifacts=(list iwidth-definition)]
10330− ^- [env=ienv artifacts=(list iwidth-definition)]
10331− (add-supported-defs-core ds all-defs checked heads env molds globals externals surs mark-externals marks jimports reserved-molds at prelude artifacts ~)
10334+$ iresolved [env=ienv grouped=(list term) artifacts=(list iwidth-definition)]
10356+$ iresolved [env=ienv grouped=(list term) artifacts=(list iwidth-definition)]
10335+$ iadj (map term (list term))
10357+$ iadj (map term (list term))
@@ -10471,12 +10493,11 @@
10471 =? checked |(?=(%gate -.val.d) ?=(%gate-wide -.val.d)) (~(put by checked) name.d d)
10493 =? checked |(?=(%gate -.val.d) ?=(%gate-wide -.val.d)) (~(put by checked) name.d d)
10472 `[[[name.d [typ vars]] env] checked artifacts]
10494 `[[[name.d [typ vars]] env] checked artifacts]
10473++ add-supported-defs-core
10495++ add-supported-defs-core
10474− |= [ds=(list def) all-defs=(list def) checked=(map term def) heads=(unit igate-prelude-evidence) env=ienv molds=imolds globals=(list term) externals=iexternals surs=(list term) mark-externals=imark-externals marks=(list term) jimports=ijimports reserved-molds=(list term) at=path prelude=(unit ifile) artifacts=(list iwidth-definition) index=(unit [at=path source=@t prelude=ifile shapes=(map term shape)])]
10496+ |= [ds=(list def) checked=(map term def) heads=(unit igate-prelude-evidence) env=ienv molds=imolds globals=(list term) externals=iexternals surs=(list term) mark-externals=imark-externals marks=(list term) jimports=ijimports reserved-molds=(list term) at=path prelude=(unit ifile) artifacts=(list iwidth-definition) index=(unit [at=path source=@t prelude=ifile shapes=(map term shape)])]
10475 ^- [env=ienv artifacts=(list iwidth-definition)]
10497 ^- [env=ienv artifacts=(list iwidth-definition)]
10476 ?~ ds [env artifacts]
10498 ?~ ds [env artifacts]
10477 =/ d=def i.ds
10499 =/ d=def i.ds
10478 ?: ?=(%mold -.d) $(ds t.ds)
10500 ?: ?=(%mold -.d) $(ds t.ds)
10479− ?: (lien (program-recovery-names all-defs) |=(n=term =(n name.d))) $(ds t.ds)
10480 ?. (unique-value-name name.d globals) $(ds t.ds)
10501 ?. (unique-value-name name.d globals) $(ds t.ds)
10481 ?^ (ienv-lookup name.d env) $(ds t.ds)
10502 ?^ (ienv-lookup name.d env) $(ds t.ds)
10482 =/ top=(list term) (turn molds |=(m=[name=term body=shape] name.m))
10503 =/ top=(list term) (turn molds |=(m=[name=term body=shape] name.m))
@@ -10531,7 +10552,7 @@
10531 =/ heads=(unit igate-prelude-evidence) (direct-prelude-evidence ds prelude)
10552 =/ heads=(unit igate-prelude-evidence) (direct-prelude-evidence ds prelude)
10533 =/ next=[env=ienv artifacts=(list iwidth-definition)]
10554 =/ next=[env=ienv artifacts=(list iwidth-definition)]
10534− (add-supported-defs-core ds ds (direct-checked-gates ds env) heads env molds globals externals surs mark-externals marks jimports reserved-molds at prelude artifacts index)
10555+ (add-supported-defs-core ds (direct-checked-gates ds env) heads env molds globals externals surs mark-externals marks jimports reserved-molds at prelude artifacts index)
10535 =/ initial=istate [0 ~ ~ ~ molds globals externals surs mark-externals marks jimports reserved-molds ~ ~ ~ | at top prelude ~ 256 ~ ~ ~ ~ ~ ~]
10556 =/ initial=istate [0 ~ ~ ~ molds globals externals surs mark-externals marks jimports reserved-molds ~ ~ ~ | at top prelude ~ 256 ~ ~ ~ ~ ~ ~]
10536 =. grec-index.initial index
10557 =. grec-index.initial index
10537 =/ out=iresolved (add-groups ds components graph env.next grouped artifacts.next initial)
10558 =/ out=iresolved (add-groups ds components graph env.next grouped artifacts.next initial)
@@ -11615,9 +11636,38 @@
11615 ?. ?=(%tvar -.i.args.tail) |
11636 ?. ?=(%tvar -.i.args.tail) |
11616 =(var name.i.args.tail)
11637 =(var name.i.args.tail)
11639+++ prelude-public-label
11642+ ?: =(label 'ask.internal') `'ask'
11643+ ?: =(label 'qath.internal') `'qath'
11644+ ?: =(label 'raw-poke.internal') `'raw-poke'
11647+++ prelude-label-nested
11652+ =/ label=(unit @t) ?~(label.typ ~ (prelude-public-label u.label.typ))
11653+ [%union (turn cases.typ |=(c=itype (prelude-label-nested c))) origin.typ label (turn args.typ |=(c=itype (prelude-label-nested c)))]
11655+ =/ label=(unit @t) ?~(label.typ ~ (prelude-public-label u.label.typ))
11656+ typ(label label, args (turn args.typ |=(c=itype (prelude-label-nested c))))
11658+ =/ label=(unit @t) ?~(label.typ ~ (prelude-public-label u.label.typ))
11660+ %collection [%collection name.typ (turn args.typ |=(c=itype (prelude-label-nested c)))]
11661+ %face [%face name.typ $(typ body.typ)]
11662+ %fn [%fn $(typ sample.typ) $(typ product.typ)]
11663+ %cell [%cell $(typ hed.typ) $(typ tal.typ)]
11618++ prelude-label
11667++ prelude-label
11619 |= [typ=itype name=term vars=(list @ud)]
11668 |= [typ=itype name=term vars=(list @ud)]
11620 ^- itype
11669 ^- itype
11670+ =. typ (prelude-label-nested typ)
11621 ?: ?=(%jrec -.typ) typ(label `name)
11671 ?: ?=(%jrec -.typ) typ(label `name)
11622 ?: ?=(%grec -.typ)
11672 ?: ?=(%grec -.typ)
11623 ?. (identity-union-parameters vars args.typ) typ(label ~)
11673 ?. (identity-union-parameters vars args.typ) typ(label ~)
@@ -12113,22 +12163,22 @@
12113+$ iapi-mark-type [name=term typ=itype]
12163+$ iapi-mark-type [name=term typ=itype]
12114+$ iapi-path-typed [path=iapi-path full=itype diffs=(list iapi-mark-type)]
12164+$ iapi-path-typed [path=iapi-path full=itype diffs=(list iapi-mark-type)]
12115++ api-diff-types
12165++ api-diff-types
12116− |= [names=(list term) externals=imark-externals declared=(list term)]
12166+ |= [names=(list term) externals=imark-externals declared=(list term) prelude=ifile]
12117 ^- (unit (list iapi-mark-type))
12167 ^- (unit (list iapi-mark-type))
12118 ?~ names `~
12168 ?~ names `~
12119− =/ typ=(unit itype) (find-imported-mark i.names externals declared)
12169+ =/ typ=(unit itype) (find-imported-mark-prelude i.names externals declared prelude)
12120 ?~ typ ~
12170 ?~ typ ~
12121 =/ tail=(unit (list iapi-mark-type)) $(names t.names)
12171 =/ tail=(unit (list iapi-mark-type)) $(names t.names)
12122 ?~ tail ~
12172 ?~ tail ~
12123 `[[i.names u.typ] u.tail]
12173 `[[i.names u.typ] u.tail]
12125++ api-path-types
12175++ api-path-types
12126− |= [paths=(list iapi-path) externals=imark-externals declared=(list term)]
12176+ |= [paths=(list iapi-path) externals=imark-externals declared=(list term) prelude=ifile]
12127 ^- (unit (list iapi-path-typed))
12177 ^- (unit (list iapi-path-typed))
12128 ?~ paths `~
12178 ?~ paths `~
12129− =/ full=(unit itype) (find-imported-mark full.i.paths externals declared)
12179+ =/ full=(unit itype) (find-imported-mark-prelude full.i.paths externals declared prelude)
12130 ?~ full ~
12180 ?~ full ~
12131− =/ diffs=(unit (list iapi-mark-type)) (api-diff-types diffs.i.paths externals declared)
12181+ =/ diffs=(unit (list iapi-mark-type)) (api-diff-types diffs.i.paths externals declared prelude)
12132 ?~ diffs ~
12182 ?~ diffs ~
12133 =/ tail=(unit (list iapi-path-typed)) $(paths t.paths)
12183 =/ tail=(unit (list iapi-path-typed)) $(paths t.paths)
12134 ?~ tail ~
12184 ?~ tail ~
@@ -12148,7 +12198,7 @@
12148 `~[u.name]
12198 `~[u.name]
12150++ api-path-analysis
12200++ api-path-analysis
12151− |= [mod=module externals=imark-externals prelude-values=(list term) prelude-molds=(list term)]
12201+ |= [mod=module externals=imark-externals prelude-values=(list term) prelude-molds=(list term) prelude=ifile]
12152 ^- (unit (list iapi-path-typed))
12202 ^- (unit (list iapi-path-typed))
12153 ?: (lien defs.mod def-has-hole) ~
12203 ?: (lien defs.mod def-has-hole) ~
12154 ?^ (duplicate-defs defs.mod) ~
12204 ?^ (duplicate-defs defs.mod) ~
@@ -12171,7 +12221,7 @@
12171 ?~ paths ~
12221 ?~ paths ~
12172 =/ derived-pokes=(list term) ?~(pokes ~ ~[%poke])
12222 =/ derived-pokes=(list term) ?~(pokes ~ ~[%poke])
12173 ?. (api-derived-names-valid u.paths derived-pokes mod prelude-values) ~
12223 ?. (api-derived-names-valid u.paths derived-pokes mod prelude-values) ~
12174− (api-path-types u.paths externals declared)
12224+ (api-path-types u.paths externals declared prelude)
12176:: Source/graph entry for path analysis only. The returned paths retain
12226:: Source/graph entry for path analysis only. The returned paths retain
12177:: reader-derived mark types and import resolution has checked reachable
12227:: reader-derived mark types and import resolution has checked reachable
@@ -12185,12 +12235,13 @@
12185 =/ duplicate=(unit idiag) (duplicate-defs defs.p.parsed)
12235 =/ duplicate=(unit idiag) (duplicate-defs defs.p.parsed)
12186 ?^ duplicate [%| (show-duplicate-fields file src u.duplicate)]
12236 ?^ duplicate [%| (show-duplicate-fields file src u.duplicate)]
12187 ?~ prepared [%| 'API path analysis needs the prepared prelude']
12237 ?~ prepared [%| 'API path analysis needs the prepared prelude']
12238+ =/ public=ifile iface.u.prepared
12188 =/ prelude=(unit ifile) `iface.u.prepared
12239 =/ prelude=(unit ifile) `iface.u.prepared
12189 =/ deps=jimports-result
12240 =/ deps=jimports-result
12190 (resolve-jibb-imports imports.p.parsed externals marks modules ~[file] values.u.prepared molds.u.prepared ~ prelude)
12241 (resolve-jibb-imports imports.p.parsed externals marks modules ~[file] values.u.prepared molds.u.prepared ~ prelude)
12191 ?: ?=(%| -.deps) [%| p.deps]
12242 ?: ?=(%| -.deps) [%| p.deps]
12192 =/ paths=(unit (list iapi-path-typed))
12243 =/ paths=(unit (list iapi-path-typed))
12193− (api-path-analysis p.parsed marks values.u.prepared molds.u.prepared)
12244+ (api-path-analysis p.parsed marks values.u.prepared molds.u.prepared public)
12194 ?~ paths [%| 'API path declaration needs unsupported analysis']
12245 ?~ paths [%| 'API path declaration needs unsupported analysis']
12195 [%& u.paths]
12246 [%& u.paths]
@@ -12215,7 +12266,7 @@
12215 (resolve-jibb-imports imports.p.parsed externals marks modules ~[file] values.u.prepared molds.u.prepared ~ `public)
12266 (resolve-jibb-imports imports.p.parsed externals marks modules ~[file] values.u.prepared molds.u.prepared ~ `public)
12216 ?: ?=(%| -.deps) [%| p.deps]
12267 ?: ?=(%| -.deps) [%| p.deps]
12217 =/ paths=(unit (list iapi-path-typed))
12268 =/ paths=(unit (list iapi-path-typed))
12218− (api-path-analysis p.parsed marks values.u.prepared molds.u.prepared)
12269+ (api-path-analysis p.parsed marks values.u.prepared molds.u.prepared public)
12219 ?~ paths [%| 'API path declaration needs unsupported analysis']
12270 ?~ paths [%| 'API path declaration needs unsupported analysis']
12220 [%& [file src u.prepared externals marks cache.p.deps u.paths]]
12271 [%& [file src u.prepared externals marks cache.p.deps u.paths]]
12221:: Graph-aware variant preserves the caller active stack and cache.
12272:: Graph-aware variant preserves the caller active stack and cache.
@@ -12236,7 +12287,7 @@
12236 (resolve-jibb-imports imports.p.parsed externals marks modules active values.u.prepared molds.u.prepared cache `public)
12287 (resolve-jibb-imports imports.p.parsed externals marks modules active values.u.prepared molds.u.prepared cache `public)
12237 ?: ?=(%| -.deps) [%| p.deps]
12288 ?: ?=(%| -.deps) [%| p.deps]
12238 =/ paths=(unit (list iapi-path-typed))
12289 =/ paths=(unit (list iapi-path-typed))
12239− (api-path-analysis p.parsed marks values.u.prepared molds.u.prepared)
12290+ (api-path-analysis p.parsed marks values.u.prepared molds.u.prepared public)
12240 ?~ paths [%| 'API path declaration needs unsupported analysis']
12291 ?~ paths [%| 'API path declaration needs unsupported analysis']
12241 [%& [file src u.prepared externals marks cache.p.deps u.paths]]
12292 [%& [file src u.prepared externals marks cache.p.deps u.paths]]
@@ -12323,7 +12374,7 @@
12323 =/ vals=(list term) (global-value-names ordinary)
12374 =/ vals=(list term) (global-value-names ordinary)
12324 ?: (lien vals |=(n=term =(n %main))) [%| 'API module kind needs unsupported inference']
12375 ?: (lien vals |=(n=term =(n %main))) [%| 'API module kind needs unsupported inference']
12325 =/ declared=(list term) (collect-mark-imports imports.mod)
12376 =/ declared=(list term) (collect-mark-imports imports.mod)
12326− =/ mark-types=(unit (list iapi-mark-type)) (api-diff-types declared marks declared)
12377+ =/ mark-types=(unit (list iapi-mark-type)) (api-diff-types declared marks declared iface.prep)
12327 ?~ mark-types [%| 'API declared marks need unsupported inference']
12378 ?~ mark-types [%| 'API declared marks need unsupported inference']
12328 =/ prelude=(unit ifile) `iface.prep
12379 =/ prelude=(unit ifile) `iface.prep
12329 =/ deps=jimports-result
12380 =/ deps=jimports-result
@@ -12357,7 +12408,7 @@
12357 =/ vals=(list term) (global-value-names ordinary)
12408 =/ vals=(list term) (global-value-names ordinary)
12358 ?: (lien vals |=(n=term =(n %main))) [%| 'API module kind needs unsupported inference']
12409 ?: (lien vals |=(n=term =(n %main))) [%| 'API module kind needs unsupported inference']
12359 =/ declared=(list term) (collect-mark-imports imports.mod)
12410 =/ declared=(list term) (collect-mark-imports imports.mod)
12360− =/ mark-types=(unit (list iapi-mark-type)) (api-diff-types declared marks declared)
12411+ =/ mark-types=(unit (list iapi-mark-type)) (api-diff-types declared marks declared iface.prep)
12361 ?~ mark-types [%| 'API declared marks need unsupported inference']
12412 ?~ mark-types [%| 'API declared marks need unsupported inference']
12362 =/ prelude=(unit ifile) `iface.prep
12413 =/ prelude=(unit ifile) `iface.prep
12363 =/ deps=jimports-result
12414 =/ deps=jimports-result
@@ -12558,10 +12609,10 @@
12558 [%& [support u.parts interface]]
12609 [%& [support u.parts interface]]
12560++ api-mark-exports
12611++ api-mark-exports
12561− |= [marks=(list term) all=(list term) externals=imark-externals]
12612+ |= [marks=(list term) all=(list term) externals=imark-externals prelude=ifile]
12562 ^- imold-types
12613 ^- imold-types
12563 ?~ marks ~
12614 ?~ marks ~
12564− =/ t=(unit itype) (find-imported-mark i.marks externals all)
12615+ =/ t=(unit itype) (find-imported-mark-prelude i.marks externals all prelude)
12565 ?~ t $(marks t.marks)
12616 ?~ t $(marks t.marks)
12566 [[i.marks [u.t ~]] $(marks t.marks)]
12617 [[i.marks [u.t ~]] $(marks t.marks)]
@@ -12597,11 +12648,11 @@
12597 =/ n=term i.names.sh
12648 =/ n=term i.names.sh
12598 ?. (unique-value-name n marks) ~
12649 ?. (unique-value-name n marks) ~
12599 ?: |((lien prelude-values |=(x=term =(n x))) (lien prelude-molds |=(x=term =(n x)))) ~
12650 ?: |((lien prelude-values |=(x=term =(n x))) (lien prelude-molds |=(x=term =(n x)))) ~
12600− =/ mark=(unit itype) (find-imported-mark n mark-externals marks)
12651+ =/ mark=(unit itype) (find-imported-mark-prelude n mark-externals marks u.prelude)
12601 ?~ mark ~
12652 ?~ mark ~
12602 =/ sc=(unit ischeme) (derived-poke-command-scheme u.prelude u.mark)
12653 =/ sc=(unit ischeme) (derived-poke-command-scheme u.prelude u.mark)
12603 ?~ sc ~
12654 ?~ sc ~
12604− `[~[[%poke u.sc]] (api-mark-exports marks marks mark-externals) at ~[[n i.t.t.at n]] ~ ~ ~ ~]
12655+ `[~[[%poke u.sc]] (api-mark-exports marks marks mark-externals u.prelude) at ~[[n i.t.t.at n]] ~ ~ ~ ~]
12606:: Source-proven ordinary helpers validate each selected /sur dependency.
12657:: Source-proven ordinary helpers validate each selected /sur dependency.
12607:: Unused or less direct cores remain unsupported by this first interface.
12658:: Unused or less direct cores remain unsupported by this first interface.
@@ -13186,48 +13237,6 @@
13186 ?~ mapper ~
13237 ?~ mapper ~
13187 `[xs u.mapper]
13238 `[xs u.mapper]
13189−++ program-recovery-names
13192− =/ main=(unit def) (program-main-def ds)
13194− =/ parts=(unit [init=term update=term view=term subs=term])
13195− (program-main-parts u.main)
13197− =/ views=(list def)
13198− (skim ds |=(d=def &(?=(%value -.d) =(view.u.parts name.d))))
13199− ?. ?=([* ~] views) ~
13200− =/ view-def=def i.views
13201− ?> ?=(%value -.view-def)
13202− =/ written=(unit sample) (direct-gate-sample view-def)
13206− %gate body.val.view-def
13207− %gate-wide body.val.view-def
13210− =/ sites=(unit (list iview-site)) (program-view-sites body ~)
13212− ?. ?=([* ~] u.sites) ~
13213− =/ mapper=term mapper.i.u.sites
13214− =/ components=(list term)
13220− ?: (lien components |=(n=term =(n mapper))) ~
13221− =/ mappers=(list def)
13222− (skim ds |=(d=def &(?=(%value -.d) =(mapper name.d))))
13223− ?. ?=([* ~] mappers) ~
13231++ program-sample-binders
13240++ program-sample-binders
13232 |= sam=sample
13241 |= sam=sample
13233 ^- (list term)
13242 ^- (list term)
@@ -13967,7 +13976,7 @@
13967 ?~ error ~
13976 ?~ error ~
13968 ?. ?=(%union -.typ.u.raw) ~
13977 ?. ?=(%union -.typ.u.raw) ~
13969 =/ poke-case=itype
13978 =/ poke-case=itype
13970− [%cell [%const [%term %tas %poke '%poke']] [%cell [%face %p typ.u.raw(label `'raw-poke.internal')] [%face %reply [%fn u.error [%var m]]]]]
13979+ [%cell [%const [%term %tas %poke '%poke']] [%cell [%face %p typ.u.raw(label `'raw-poke')] [%face %reply [%fn u.error [%var m]]]]]
13971 =/ go-case=itype
13980 =/ go-case=itype
13972 [%cell [%const [%term %tas %go '%go']] [%face %url [%atom %t]]]
13981 [%cell [%const [%term %tas %go '%go']] [%face %url [%atom %t]]]
13973 =/ wait-case=itype
13982 =/ wait-case=itype
@@ -14111,7 +14120,7 @@
14111 ?~ heads resolution
14120 ?~ heads resolution
14112 =/ checked=(map term def) (direct-checked-gates ds env.resolution)
14121 =/ checked=(map term def) (direct-checked-gates ds env.resolution)
14113 =/ completed=[env=ienv artifacts=(list iwidth-definition)]
14122 =/ completed=[env=ienv artifacts=(list iwidth-definition)]
14114− (add-supported-defs-core ~[main] ds checked heads env.resolution molds.initial globals.initial externals.initial surs.initial mark-externals.initial marks.initial jimports.initial reserved-molds.initial at.initial prelude.initial artifacts.resolution grec-index.initial)
14123+ (add-supported-defs-core ~[main] checked heads env.resolution molds.initial globals.initial externals.initial surs.initial mark-externals.initial marks.initial jimports.initial reserved-molds.initial at.initial prelude.initial artifacts.resolution grec-index.initial)
14115 [env.completed grouped.resolution artifacts.completed]
14124 [env.completed grouped.resolution artifacts.completed]
14117:: A static main may retain a generic element message in its ordinary
14126:: A static main may retain a generic element message in its ordinary