mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-21 05:41:43 +03:00
clay: clear ford cache on +load instead of +stay
Best practice is clean up state on +load, when you know more about what the migration should be. fixes #5849
This commit is contained in:
parent
abd008e453
commit
172af42def
@ -4632,12 +4632,55 @@
|
|||||||
[%7 raft-7]
|
[%7 raft-7]
|
||||||
[%6 raft-6]
|
[%6 raft-6]
|
||||||
==
|
==
|
||||||
+$ raft-13 raft
|
+$ raft-13
|
||||||
|
$: rom=room-13
|
||||||
|
hoy=(map ship rung-13)
|
||||||
|
ran=rang
|
||||||
|
fad=*
|
||||||
|
mon=(map term beam)
|
||||||
|
hez=(unit duct)
|
||||||
|
cez=(map @ta crew)
|
||||||
|
pud=(unit [=desk =yoki])
|
||||||
|
sad=(map ship @da)
|
||||||
|
bug=[veb=@ mas=@]
|
||||||
|
==
|
||||||
|
+$ room-13
|
||||||
|
$: hun=duct
|
||||||
|
dos=(map desk dojo-13)
|
||||||
|
==
|
||||||
|
+$ dojo-13
|
||||||
|
$: qyx=cult
|
||||||
|
dom=dome-13
|
||||||
|
per=regs
|
||||||
|
pew=regs
|
||||||
|
fiz=melt
|
||||||
|
==
|
||||||
|
+$ dome-13
|
||||||
|
$: let=aeon
|
||||||
|
hit=(map aeon tako)
|
||||||
|
lab=(map @tas aeon)
|
||||||
|
tom=(map tako norm)
|
||||||
|
nor=norm
|
||||||
|
mim=(map path mime)
|
||||||
|
fod=*
|
||||||
|
==
|
||||||
|
+$ rung-13
|
||||||
|
$: rus=(map desk rede-13)
|
||||||
|
==
|
||||||
|
+$ rede-13
|
||||||
|
$: lim=@da
|
||||||
|
ref=(unit rind)
|
||||||
|
qyx=cult
|
||||||
|
dom=dome-13
|
||||||
|
per=regs
|
||||||
|
pew=regs
|
||||||
|
fiz=melt
|
||||||
|
==
|
||||||
+$ raft-12
|
+$ raft-12
|
||||||
$: rom=room
|
$: rom=room
|
||||||
hoy=(map ship rung-12)
|
hoy=(map ship rung-12)
|
||||||
ran=rang
|
ran=rang
|
||||||
fad=flow
|
fad=*
|
||||||
mon=(map term beam)
|
mon=(map term beam)
|
||||||
hez=(unit duct)
|
hez=(unit duct)
|
||||||
cez=(map @ta crew)
|
cez=(map @ta crew)
|
||||||
@ -4673,7 +4716,7 @@
|
|||||||
$: rom=room
|
$: rom=room
|
||||||
hoy=(map ship rung-12)
|
hoy=(map ship rung-12)
|
||||||
ran=rang
|
ran=rang
|
||||||
fad=flow
|
fad=*
|
||||||
mon=(map term beam)
|
mon=(map term beam)
|
||||||
hez=(unit duct)
|
hez=(unit duct)
|
||||||
cez=(map @ta crew)
|
cez=(map @ta crew)
|
||||||
@ -4891,15 +4934,39 @@
|
|||||||
--
|
--
|
||||||
|= old=raft-any
|
|= old=raft-any
|
||||||
|^
|
|^
|
||||||
=? old ?=(%6 -.old) 7+(raft-6-to-7 +.old)
|
=? old ?=(%6 -.old) 7+(raft-6-to-7 +.old)
|
||||||
=? old ?=(%7 -.old) 8+(raft-7-to-8 +.old)
|
=? old ?=(%7 -.old) 8+(raft-7-to-8 +.old)
|
||||||
=? old ?=(%8 -.old) 9+(raft-8-to-9 +.old)
|
=? old ?=(%8 -.old) 9+(raft-8-to-9 +.old)
|
||||||
=? old ?=(%9 -.old) 10+(raft-9-to-10 +.old)
|
=? old ?=(%9 -.old) 10+(raft-9-to-10 +.old)
|
||||||
=? old ?=(%10 -.old) 11+(raft-10-to-11 +.old)
|
=? old ?=(%10 -.old) 11+(raft-10-to-11 +.old)
|
||||||
=? old ?=(%11 -.old) 12+(raft-11-to-12 +.old)
|
=? old ?=(%11 -.old) 12+(raft-11-to-12 +.old)
|
||||||
=? old ?=(%12 -.old) 13+(raft-12-to-13 +.old)
|
=? old ?=(%12 -.old) 13+(raft-12-to-13 +.old)
|
||||||
?> ?=(%13 -.old)
|
?> ?=(%13 -.old)
|
||||||
..^^$(ruf +.old)
|
..^^$(ruf (clear-cache +.old))
|
||||||
|
::
|
||||||
|
:: We clear the ford cache so we don't have to know how to upgrade
|
||||||
|
:: the types, which are complicated and eg contravariant in +hoon.
|
||||||
|
:: Also, many of the results would be different if zuse is different.
|
||||||
|
::
|
||||||
|
++ clear-cache
|
||||||
|
|= raf=raft-13
|
||||||
|
^- raft
|
||||||
|
%= raf
|
||||||
|
fad *flow
|
||||||
|
dos.rom
|
||||||
|
%- ~(run by dos.rom.raf)
|
||||||
|
|= doj=dojo-13
|
||||||
|
^- dojo
|
||||||
|
doj(fod.dom *flue)
|
||||||
|
::
|
||||||
|
hoy
|
||||||
|
%- ~(run by hoy.raf)
|
||||||
|
|= =rung-13
|
||||||
|
%- ~(run by rus.rung-13)
|
||||||
|
|= =rede-13
|
||||||
|
^- rede
|
||||||
|
rede-13(dom dom.rede-13(fod *flue))
|
||||||
|
==
|
||||||
:: +raft-6-to-7: delete stale ford caches (they could all be invalid)
|
:: +raft-6-to-7: delete stale ford caches (they could all be invalid)
|
||||||
::
|
::
|
||||||
++ raft-6-to-7
|
++ raft-6-to-7
|
||||||
@ -5292,31 +5359,7 @@
|
|||||||
`u=[need have leak]
|
`u=[need have leak]
|
||||||
--
|
--
|
||||||
::
|
::
|
||||||
:: We clear the ford cache by replacing it with its bunt as a literal.
|
++ stay [ver ruf]
|
||||||
:: This nests within +flow without reference to +type, +hoon, or
|
|
||||||
:: anything else in the sample of cache objects. Otherwise we would be
|
|
||||||
:: contravariant in the those types, which makes them harder to change.
|
|
||||||
::
|
|
||||||
++ stay
|
|
||||||
:- ver
|
|
||||||
%= ruf
|
|
||||||
fad ~
|
|
||||||
dos.rom
|
|
||||||
%- ~(run by dos.rom.ruf)
|
|
||||||
|= =dojo
|
|
||||||
dojo(fod.dom `flue`[~ ~])
|
|
||||||
::
|
|
||||||
hoy
|
|
||||||
%- ~(run by hoy.ruf)
|
|
||||||
|= =rung
|
|
||||||
%= rung
|
|
||||||
rus
|
|
||||||
%- ~(run by rus.rung)
|
|
||||||
|= =rede
|
|
||||||
rede(fod.dom `flue`[~ ~])
|
|
||||||
==
|
|
||||||
==
|
|
||||||
::
|
|
||||||
++ take :: accept response
|
++ take :: accept response
|
||||||
~/ %clay-take
|
~/ %clay-take
|
||||||
|= [tea=wire hen=duct dud=(unit goof) hin=sign]
|
|= [tea=wire hen=duct dud=(unit goof) hin=sign]
|
||||||
|
Loading…
Reference in New Issue
Block a user