Merge remote-tracking branch 'origin/lf/ford-memory-shit' into philip/tomb

This commit is contained in:
Philip Monk 2022-03-25 13:13:24 -07:00
commit ef9521272a

View File

@ -9,6 +9,17 @@
:: worth noting that many of the clay-related structures are defined in zuse. :: worth noting that many of the clay-related structures are defined in zuse.
:: ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
=/ bud
^~
=/ zuse !>(..zuse)
:* zuse=zuse
nave=(slap zuse !,(*hoon nave:clay))
cork=(slap zuse !,(*hoon cork))
same=(slap zuse !,(*hoon same))
mime=(slap zuse !,(*hoon mime))
cass=(slap zuse !,(*hoon cass:clay))
==
::
|= our=ship |= our=ship
=, clay =, clay
=> |% => |%
@ -540,7 +551,7 @@
:_ nub :_ nub
^- vase :: vase of nave ^- vase :: vase of nave
%+ slap %+ slap
(with-faces deg+deg tub+tub but+but cor+cor nave+!>(nave) ~) (with-faces deg+deg tub+tub but+but cor+cor nave+nave.bud ~)
!, *hoon !, *hoon
=/ typ _+<.cor =/ typ _+<.cor
=/ dif diff:deg =/ dif diff:deg
@ -561,7 +572,7 @@
-- --
:_ nub :_ nub
^- vase :: vase of nave ^- vase :: vase of nave
%+ slap (slop (with-face cor+cor) !>(..zuse)) %+ slap (slop (with-face cor+cor) zuse.bud)
!, *hoon !, *hoon
=/ typ _+<.cor =/ typ _+<.cor
=/ dif _*diff:grad:cor =/ dif _*diff:grad:cor
@ -604,9 +615,10 @@
=. marks.cache.nub (~(put by marks.cache.nub) mak [dais.res top]) =. marks.cache.nub (~(put by marks.cache.nub) mak [dais.res top])
[dais.res nub] [dais.res nub]
=^ nav=vase nub (build-nave mak) =^ nav=vase nub (build-nave mak)
:: ~> %slog.0^leaf/"ford: make dais {<mak>}" ::~> %slog.0^leaf/"ford: make dais {<mak>}"
:_ nub :_ nub
^- dais ^- dais
=> [..zuse nav=nav]
|_ sam=vase |_ sam=vase
++ diff ++ diff
|= new=vase |= new=vase
@ -625,8 +637,8 @@
=/ res=vase =/ res=vase
%+ slam (slap nav limb/%mash) %+ slam (slap nav limb/%mash)
%+ slop %+ slop
:(slop !>(ship.a) !>(desk.a) diff.a) :(slop =>([..zuse ship.a] !>(+)) =>([..zuse desk.a] !>(+)) diff.a)
:(slop !>(ship.b) !>(desk.b) diff.b) :(slop =>([..zuse ship.b] !>(+)) =>([..zuse desk.b] !>(+)) diff.b)
?~ q.res ?~ q.res
~ ~
`(slap res !,(*hoon ?>((^ .) u))) `(slap res !,(*hoon ?>((^ .) u)))
@ -644,7 +656,7 @@
^- [vase state] ^- [vase state]
~| error-building-cast+[a b] ~| error-building-cast+[a b]
?: =([%mime %hoon] [a b]) ?: =([%mime %hoon] [a b])
:_(nub !>(|=(m=mime q.q.m))) :_(nub =>(..zuse !>(|=(m=mime q.q.m))))
?^ got=(~(get by casts.cache.nub) [a b]) ?^ got=(~(get by casts.cache.nub) [a b])
=? stack.nub ?=(^ stack.nub) =? stack.nub ?=(^ stack.nub)
stack.nub(i (~(uni in i.stack.nub) dez.u.got)) stack.nub(i (~(uni in i.stack.nub) dez.u.got))
@ -688,7 +700,7 @@
?: ?=(%& -.rab) ?: ?=(%& -.rab)
(compose-casts a !<(mark p.rab) b) (compose-casts a !<(mark p.rab) b)
?: ?=(%noun b) ?: ?=(%noun b)
:_(nub !>(|=(* +<))) :_(nub same.bud)
~|(no-cast-from+[a b] !!) ~|(no-cast-from+[a b] !!)
:: ::
++ compose-casts ++ compose-casts
@ -698,7 +710,7 @@
=^ dos=vase nub (build-cast y z) =^ dos=vase nub (build-cast y z)
:_ nub :_ nub
%+ slap %+ slap
(with-faces uno+uno dos+dos cork+!>(cork) ~) (with-faces uno+uno dos+dos cork+=>([..zuse cork] !>(+)) ~)
!,(*hoon (cork uno dos)) !,(*hoon (cork uno dos))
:: +build-tube: produce a $tube mark conversion gate from .a to .b :: +build-tube: produce a $tube mark conversion gate from .a to .b
:: ::
@ -720,7 +732,7 @@
[tube.res nub] [tube.res nub]
=^ gat=vase nub (build-cast a b) =^ gat=vase nub (build-cast a b)
:: ~> %slog.0^leaf/"ford: make tube {<a>} -> {<b>}" :: ~> %slog.0^leaf/"ford: make tube {<a>} -> {<b>}"
:_(nub |=(v=vase (slam gat v))) :_(nub =>([..zuse gat=gat] |=(v=vase (slam gat v))))
:: ::
++ lobe-to-page ++ lobe-to-page
|= =lobe |= =lobe
@ -771,7 +783,7 @@
?: =(%hoon p.page) ?: =(%hoon p.page)
:_(nub [%hoon -:!>(*@t) q.page]) :_(nub [%hoon -:!>(*@t) q.page])
?: =(%mime p.page) ?: =(%mime p.page)
:_(nub [%mime !>(;;(mime q.page))]) :_(nub [%mime =>([..zuse ;;(mime q.page)] !>(+))])
=^ =dais nub (build-dais p.page) =^ =dais nub (build-dais p.page)
:_(nub [p.page (vale:dais q.page)]) :_(nub [p.page (vale:dais q.page)])
:: ::
@ -794,7 +806,7 @@
=/ txt=wain (to-wain:format ;;(@t q.old)) =/ txt=wain (to-wain:format ;;(@t q.old))
=+ ;;(dif=(urge cord) q.diff) =+ ;;(dif=(urge cord) q.diff)
=/ new=@t (of-wain:format (lurk:differ txt dif)) =/ new=@t (of-wain:format (lurk:differ txt dif))
:_(nub [%hoon !>(new)]) :_(nub [%hoon =>([..zuse new] !>(+))])
=^ dys=dais nub (build-dais p.old) =^ dys=dais nub (build-dais p.old)
=^ syd=dais nub (build-dais p.diff) =^ syd=dais nub (build-dais p.diff)
:_(nub [p.old (~(pact dys (vale:dys q.old)) (vale:syd q.diff))]) :_(nub [p.old (~(pact dys (vale:dys q.old)) (vale:syd q.diff))])
@ -868,7 +880,7 @@
:: ::
++ run-pile ++ run-pile
|= =pile |= =pile
=/ sut=vase !>(..zuse) =/ sut=vase zuse.bud
=^ sut=vase nub (run-tauts sut %sur sur.pile) =^ sut=vase nub (run-tauts sut %sur sur.pile)
=^ sut=vase nub (run-tauts sut %lib lib.pile) =^ sut=vase nub (run-tauts sut %lib lib.pile)
=^ sut=vase nub (run-raw sut raw.pile) =^ sut=vase nub (run-raw sut raw.pile)
@ -4977,14 +4989,51 @@
%+ turn (sort ~(tap by dos.rom.ruf) aor) %+ turn (sort ~(tap by dos.rom.ruf) aor)
|= [=desk =dojo] |= [=desk =dojo]
:+ desk %| :+ desk %|
|^
:~ ankh+&+ank.dom.dojo :~ ankh+&+ank.dom.dojo
mime+&+mim.dom.dojo mime+&+mim.dom.dojo
ford-files+&+files.fod.dom.dojo ford-files+|+files
ford-naves+&+naves.fod.dom.dojo ford-naves+|+naves
ford-marks+&+marks.fod.dom.dojo ford-marks+|+marks
ford-casts+&+casts.fod.dom.dojo ford-casts+|+casts
ford-tubes+&+tubes.fod.dom.dojo ford-tubes+|+tubes
== ==
++ marks
^- (list mass)
%+ turn (sort ~(tap by marks.fod.dom.dojo) aor)
|= [=mark res=*]
^- mass
[mark %& res]
::
++ casts
^- (list mass)
%+ turn (sort ~(tap by casts.fod.dom.dojo) aor)
|= [=mars res=*]
^- mass
[`@t`(rap 3 [a '-' b ~]:mars) %& res]
::
++ naves
^- (list mass)
%+ turn (sort ~(tap by naves.fod.dom.dojo) aor)
|= [=mark res=*]
^- mass
[mark %& res]
::
++ tubes
^- (list mass)
%+ turn (sort ~(tap by tubes.fod.dom.dojo) aor)
|= [=mars res=*]
^- mass
[`@t`(rap 3 [a '-' b ~]:mars) %& res]
::
++ files
^- (list mass)
%+ turn (sort ~(tap by files.fod.dom.dojo) aor)
|= [=path res=*]
^- mass
[(spat path) %& res]
--
:~ domestic+|+domestic :~ domestic+|+domestic
foreign+&+hoy.ruf foreign+&+hoy.ruf
:+ %object-store %| :+ %object-store %|