Merge branch 'newbreach' into crub

Conflicts:
	urb/urbit.pill
This commit is contained in:
Jared Hance 2014-05-27 15:32:13 -04:00
commit 55d098b626
9 changed files with 291 additions and 292 deletions

View File

@ -1434,12 +1434,18 @@
=<
|% :: vane interface
++ beat
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|= [tea=wire hen=duct fav=card]
=+ wru=*(unit writ)
^- [p=(list move) q=vane]
=^ duy ..knap
(knap wru tea hen fav)
[duy ..^$]
::
++ call
|= [hen=duct fav=card]
^- [p=(list move) q=vane]
(beat ~ hen fav)
::
++ come
|= [sam=? old=vase]
^- vane
@ -1497,28 +1503,20 @@
?- -.bon
%beer
:_ fox(zac (~(put by zac.fox) p.bon `corn`[hen ~ ~ ~]))
:* [[~ %gold p.bon] [/c hen] [%init p.bon]]
[[~ %gold p.bon] hen [%init p.bon]]
[[~ %gold p.bon] [/a hen] [%kick now]]
[[~ %gold p.bon] [/e hen] [%init p.bon]]
:* [[/c hen] [%init p.bon]]
[hen [%init p.bon]]
[[/a hen] [%kick now]]
[[/e hen] [%init p.bon]]
~
:: =+ bos=(sein p.bon)
:: =. bos ?.(=(bos p.bon) bos ~zod)
:: ?: =(~zod p.bon) ~
:: :~ [[~ %iron p.bon] [/c hen] [%pull bos %main ~[%main]]]
:: [[~ %iron p.bon] [/c hen] [%pull bos %spec ~[%spec]]]
:: [[~ %iron p.bon] [/c hen] [%pull bos %try ~[%try]]]
:: [[~ %iron p.bon] [/c hen] [%pull bos %arvo ~[%arvo]]]
:: ==
==
::
%coke
:: ~& [%tz p.bon q.bon r.bon]
:_ fox
:~ [[~ %iron p.p.bon] s.bon [%went q.p.bon r.bon]]
:~ [s.bon [%went q.p.bon r.bon]]
==
::
%mead :_(fox [[wru hen [%hear p.bon q.bon]] ~])
%mead :_(fox [[hen [%hear p.bon q.bon]] ~])
%milk
:: ~& [%rx p.bon q.bon]
?> ?=([@ *] q.q.bon)
@ -1526,8 +1524,7 @@
?> ?=([@ @ *] t.q.q.bon)
:_ fox
=+ [cak=i.t.q.q.bon ven=i.t.t.q.q.bon]
:~ :- [~ %iron p.p.bon]
=+ neh=(claw p.p.bon)
:~ =+ neh=(claw p.p.bon)
?> ?=(^ neh)
:: ~& [%milk-waft [[ven `path`t.t.t.q.q.bon] t.neh]]
:- ?: =(%c ven)
@ -1543,8 +1540,7 @@
?> ?=([@ *] t.q.q.bon)
?+ i.t.q.q.bon
:_ fox
:~ :+ [~ %iron p.p.bon]
(claw p.p.bon)
:~ :- (claw p.p.bon)
`card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]
==
::
@ -1553,8 +1549,7 @@
::
?(%pr %pc) :: %pr, %pc
:_ fox
:~ :- [~ %iron p.p.bon]
[[/e hen] `card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
:~ [[/e hen] `card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
==
::
%ta
@ -1563,14 +1558,12 @@
=^ wyl gus (born:gus now gox)
=. ton.fox (~(su go ton.fox) gus)
:_ fox
:~ :+ [~ %iron p.p.bon]
[/a /a hen]
:~ :- [/a /a hen]
`card`[%want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl]
==
%re :: %re
:_ fox
:~ :- [~ %iron p.p.bon]
[[/c hen] `card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
:~ [[/c hen] `card`[%wart p.bon i.t.q.q.bon t.t.q.q.bon r.bon]]
==
::
%ye :: %ye
@ -1582,21 +1575,20 @@
:_ fox
%+ turn paz
|= him=ship
:+ [~ %iron p.p.bon]
[/a /a hen]
:- [/a /a hen]
[%want [p.p.bon him] /q/yu [q.p.bon r.bon]]
==
::
%ouzo
:: ~& [%send now p.bon `@p`(mug (shaf %flap q.bon))]
:_ fox
[[wru hen [%send p.bon q.bon]] ~]
[[hen [%send p.bon q.bon]] ~]
::
%wine
:_ fox
=+ nym=(temp p.p.bon q.p.bon /name)
=+ fom=~(rend co %$ %p q.p.bon)
:~ :+ wru [/d hen]
:~ :- [/d hen]
:+ %flog %text
;: weld
"; "
@ -1611,7 +1603,7 @@
|= [wru=(unit writ) tea=wire hen=duct fav=card]
^- [(list move) _+>]
?: ?=([%crud *] fav)
[[[wru [/d hen] [%flog fav]] ~] +>]
[[[[/d hen] [%flog fav]] ~] +>]
=+ ^= fuy ^- [p=(list boon) q=furt]
?+ -.fav
[~ fox]

View File

@ -158,10 +158,10 @@
|= [tea=wire hen=duct fav=card] :: handle event
^- [p=(list move) q=brat]
?: ?=([%crud *] fav)
[[[[~ %iron who] [/d hen] [%flog fav]] ~] +<.^^$]
[[[[/d hen] [%flog fav]] ~] +<.^^$]
?+ -.fav
[[[[~ %iron who] hen fav] ~] +<.^^$]
%hail [[[[~ %iron who] hen [%helo prot]] ~] +<.^^$]
[[[hen fav] ~] +<.^^$]
%hail [[[hen [%helo prot]] ~] +<.^^$]
%line =+ gyp=?>(?=(^ fog) i.fog)
?: &(=(0 gyp) =(%$ p.fav)) $(fav [%hail ~])
=< abet
@ -169,11 +169,11 @@
lash:(gill:(fist hen) p.fav)
lash:(como:(fest gyp hen) p.fav)
%kill =+ gyp=?>(?=(^ fog) i.fog)
?: =(0 gyp) [[[[~ %iron who] hen [%logo ~]] ~] +<.^^$]
?: =(0 gyp) [[[hen [%logo ~]] ~] +<.^^$]
abet:kill:(fest gyp hen)
%ling ?> ?=(^ fog)
=> .(fog (weld t.fog `(list ,@ud)`[i.fog ~]))
[[[[~ %iron who] hen [%helo prot]] ~] +<.^^$]
[[[hen [%helo prot]] ~] +<.^^$]
%noop [~ +<.^^$]
:: %thee abet:lash:(lean tea hen fav)
%thou ?. (fear tea) :: legit
@ -204,7 +204,7 @@
:_ +<.^^$
=+ fom=(trip ((hard ,@) val))
^- (list move)
:~ :+ [~ %iron who] [/d hen]
:~ :- [/d hen]
:+ %flog %text
;: weld
pre
@ -271,7 +271,7 @@
:_ +<.^^$
%+ turn
(flop `_duv`?:(sam duv [[~ [%helo prot]] duv]))
|=([p=duct q=card] [[~ %iron who] (weld p hen) q])
|=([p=duct q=card] [(weld p hen) q])
::
++ bitt |=(lap=path [(scot %ud gyp) lap]) :: bitt:fi:be
++ como :: como:fi:be
@ -1144,17 +1144,19 @@
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: section 4bC, shell vane ::
::
=| $: dez=(map duct brim) :: state by ship
=| $: big=(unit ,@p) :: major ship
dez=(map duct brim) :: state by ship
== ::
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: current invocation
^? :: opaque core
|% :: poke/peek pattern
++ beat :: process move
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|= [tea=wire hen=duct fav=card]
^- [p=(list move) q=vane]
:: ~& [%batz-beat -.fav [%tea tea] [%hen hen]]
=+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
?: ?=([%crud *] fav)
[[[wru [/d hen] [%flog fav]] ~] ..^$]
[[[[/d hen] [%flog fav]] ~] ..^$]
?: ?=(%wake -.fav)
=+ ^= fiy
=| fiy=(list ,[p=duct q=ship r=[p=@ud q=@ud r=wire]])
@ -1198,31 +1200,30 @@
~|([%beat-none -.fav] !!)
::
%hail
?~ wru !!
$(dez (~(put by dez) hen [[q.u.wru (bard q.u.wru)] ~]))
?~ big
~& [%beat-hail-soon hen]
[~ ..^^$]
~& [%batz-hack-console hen]
$(dez (~(put by dez) hen [[u.big (bard u.big)] ~]))
::
%init
:: ~& [%beat-init p.fav hen]
=. big ?~ big
`p.fav
`(min p.fav u.big)
=+ bos=(sein p.fav)
=. bos ?.(=(bos p.fav) bos ~zod)
?~ wru !!
:- :- [wru hen fav]
:- :- [hen fav]
?: =(bos p.fav) ~
:_ ~
[wru [/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
..^^$(dez (~(put by dez) hen [[q.u.wru (bard q.u.wru)] ~]))
[[/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
..^^$(dez (~(put by dez) hen [[p.fav (bard p.fav)] ~]))
::
?(%loin %make %sith)
[[[wru [/a [%b tea] hen] fav] ~] ..^^$]
[[[[/a [%b tea] hen] fav] ~] ..^^$]
==
?> ?=(^ u.dus)
?+ -.fav
=> ?. ?=(%writ -.fav) .
:: ~& [%batz-writ tea]
.
?~ wru
=+ ade=(adit hen)
=+ hem=`helm`?-(ade %lead [%lead p.i.u.dus], %iron %iron, %gold %gold)
[[[[~ hem p.i.u.dus] [[%b tea] hen] fav] ~] ..^^$]
=+ beg=`brat`[[p.i.u.dus bred] q.i.u.dus]
=+ yub=(leap:((be beg) now eny sky) tea hen fav)
:- p.yub
@ -1231,19 +1232,22 @@
%init
=+ bos=(sein p.fav)
=. bos ?.(=(bos p.fav) bos ~zod)
?~ wru !!
:- :* [wru hen fav]
[wru [[%b tea] hen] [%hail ~]]
:- :* [hen fav]
[[[%b tea] hen] [%hail ~]]
?: =(bos p.fav) ~
:_ ~
[wru [/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
[[/b hen] [%line (rap 3 ":{(scow %p bos)}/main=/bin/update")]]
==
..^^$(dez (~(put by dez) hen [[q.u.wru (bard q.u.wru)] u.dus]))
..^^$(dez (~(put by dez) hen [[p.fav (bard p.fav)] u.dus]))
::
%limn
$(fav [%hail ~], dez (~(put by dez) hen (weld t.u.dus `brim`[i.u.dus ~])))
==
::
++ call :: process move
|= [hen=duct fav=card]
(beat ~ hen fav)
::
++ come
|= [sam=? old=vase]
^- vane

View File

@ -24,18 +24,17 @@
:_ ruf(fat (~(put by fat.ruf) who yar))
;: weld
%+ turn (flop yel)
|=([a=duct b=card] [[~ %gold who] hun.yar b])
|=([a=duct b=card] [hun.yar b])
::
%+ turn (flop byn)
|=([a=duct b=riot] [[~ %gold who] a [%writ b]])
|=([a=duct b=riot] [a [%writ b]])
::
%+ turn (flop vag)
|=([a=duct b=card] [[~ %gold who] a b])
|=([a=duct b=card] [a b])
::
%+ turn (flop say)
|= [a=duct b=ship c=[p=@ud q=riff]]
:+ [~ %gold who]
[/a a]
:- [/a a]
[%want [who b] [%q %re p.q.c (scot %ud p.c) ~] q.c]
==
::
@ -367,39 +366,23 @@
^? :: opaque core
|% ::
++ beat :: update
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|= [tea=wire hen=duct fav=card]
^- [p=(list move) q=vane]
?+ -.fav [[[wru hen fav] ~] ..^$]
?+ -.fav [[[hen fav] ~] ..^$]
%crud
[[[wru [/d hen] %flog fav] ~] ..^$]
::
%deem
~& [%beat-deem wru hen]
=. wru
?^ wru wru
?. =(%gold (adit hen)) ~
[~ %gold p.fav]
$(fav q.fav)
[[[[/d hen] %flog fav] ~] ..^$]
::
%init
:: [[%tell %0 %leaf "clay: home for {~(rend co ~ %p q.u.wru)}"] ~]
?> ?=(^ wru)
?> =(q.u.wru p.fav)
[~ ..^$(fat.ruf (~(put by fat.ruf) p.fav [hen ~ ~ ~]))]
::
?(%info %into)
=. wru
?^ wru wru
?. =(%gold (adit hen)) ~
[~ %gold p.fav]
?> &(?=(^ wru) =(q.u.wru p.fav))
?: =(%$ q.fav)
?. ?=(%into -.fav) [~ ..^$]
=+ yar=(need (~(get by fat.ruf) p.fav))
[~ ..^$(fat.ruf (~(put by fat.ruf) p.fav yar(hez [~ hen])))]
=^ mos ruf
=+ ^= zot
abet:(exec:(di:wake:(un q.u.wru now ruf) q.fav) hen now r.fav)
abet:(exec:(di:wake:(un p.fav now ruf) q.fav) hen now r.fav)
abet:zot(hez.yar ?.(=(%into -.fav) hez.yar.zot [~ hen]))
[mos ..^$]
::
@ -419,7 +402,6 @@
=^ mos ruf
=< abet
=+ une=(un p.p.fav now ruf)
:: ~& [%clay-warp q.u.wru fav]
=+ wex=?.(=(p.p.fav q.p.fav) (do:une q.p.fav p.q.fav) (di:une p.q.fav))
?~ q.q.fav
abet:(ease:wex hen)
@ -430,19 +412,17 @@
?> ?=(%re q.fav)
=+ ryf=((hard riff) s.fav)
:_ ..^$
:~ :+ [~ %iron p.p.fav]
[/c [%c (scot %p q.p.fav) r.fav] hen]
:~ :- [/c [%c (scot %p p.p.fav) (scot %p q.p.fav) r.fav] hen]
`card`[%warp [p.p.fav p.p.fav] ryf]
==
::
%writ
?> ?=([@ *] tea)
?> ?=(^ wru)
=+ him=(need (slaw %p i.tea))
?> ?=([@ @ *] tea)
=+ our=(need (slaw %p i.tea))
=+ him=(need (slaw %p i.t.tea))
:_ ..^$
:~ :+ wru
[/a [%c ~] hen]
`card`[%want [q.u.wru him] [%r %re %c t.tea] p.fav]
:~ :- [/a [%c ~] hen]
`card`[%want [our him] [%r %re %c t.t.tea] p.fav]
==
::
%went :: XX should actually propagate
@ -459,6 +439,10 @@
$(dal t.dal, mos (weld som mos))
==
::
++ call :: process move
|= [hen=duct fav=card]
(beat ~ hen fav)
::
++ come
|= [sam=? old=vase]
^- vane
@ -487,6 +471,17 @@
++ scry :: inspect
|= [our=ship ren=@tas his=ship syd=desk lot=coin tyl=path]
^- (unit (unit))
=+ ^= whu ^- (unit ,@p) :: XX HEINOUS!
?: (~(has by fat.ruf) his)
`his
=+ foo=`(list ,[p=ship q=room])`(~(tap by fat.ruf) ~)
|- ^- (unit ,@p)
?~ foo ~
?: (~(has by rid.q.i.foo) his) `p.i.foo
$(foo t.foo)
?~ whu ~
=. our u.whu
:: ~? !=(`our whu) [%clay-scry whu our ren his syd lot tyl]
=+ luk=?.(?=(%$ -.lot) ~ ((soft case) p.lot))
?~ luk [~ ~]
=+ une=(un our now ruf)

View File

@ -9,12 +9,12 @@
^? :: opaque core
|% :: poke/peek pattern
++ beat :: process move
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|= [tea=wire hen=duct fav=card]
^- [p=(list move) q=vane]
?: ?=(%flog -.fav)
:_ ..^$
%+ turn (~(tap by dug) *(list ,[p=duct q=yard]))
|=([a=duct b=yard] [wru [/d a] p.fav])
|=([a=duct b=yard] [[/d a] p.fav])
=+ ^= yar ^- yard
=+ yar=(~(get by dug) hen)
?^ yar u.yar
@ -28,7 +28,7 @@
|= wab=(list blit)
^+ +>
?~ wab +>
+>(mos [[~ hen [%blit (flop wab)]] mos])
+>(mos [[hen [%blit (flop wab)]] mos])
::
++ wod :: word forward
|= bed=bead
@ -160,7 +160,7 @@
::
++ leap :: terminal event
|- ^+ +
?+ -.fav +(mos :_(mos [wru hen fav]))
?+ -.fav +(mos :_(mos [hen fav]))
%noop +
%belt :: terminal input
?~ q.q.yar
@ -229,7 +229,7 @@
%d ?: ?& =(0 bul.u.q.q.yar)
=(0 bus.u.q.q.yar)
==
+.$(mos :_(mos [wru [/b /d hen] [%kill ~]]))
+.$(mos :_(mos [[/b /d hen] [%kill ~]]))
$(fav [%belt %del ~])
%e (edit u.q.q.yar(bus bul.u.q.q.yar))
%f $(fav [%belt %aro %r])
@ -262,7 +262,7 @@
~
(slag (add 2 pos) but.u.q.q.yar)
==
%l +.$(mos :_(mos [~ hen %blit [[%clr ~] ~]]))
%l +.$(mos :_(mos [hen %blit [[%clr ~] ~]]))
%n $(fav [%belt %aro %d])
%p $(fav [%belt %aro %u])
%u ?: =(0 bus.u.q.q.yar)
@ -277,8 +277,8 @@
==
%r (edit u.q.q.yar(hyr [~ ~]))
:: TODO
:: %w +.$(mos :_(mos [wru [/b /d hen] [%limn ~]]))
%x +.$(mos :_(mos [wru [/b /d hen] [%ling ~]]))
:: %w +.$(mos :_(mos [[/b /d hen] [%limn ~]]))
%x +.$(mos :_(mos [[/b /d hen] [%ling ~]]))
%y ?: =(0 p.r.q.yar)
beep
$(fav [%belt %txt (snag q.r.q.yar r.r.q.yar)])
@ -347,10 +347,10 @@
[p.hyt.u.q.q.yar [jab ?~(q.hyt.u.q.q.yar ~ +.q.hyt.u.q.q.yar)]]
::
mos
:* [~ [/b /d hen] [%hail ~]]
[~ hen [%bbye ~]]
[wru [/b /d hen] [%line jab]]
[~ hen [%blit [[%mor ~] ~]]]
:* [[/b /d hen] [%hail ~]]
[hen [%bbye ~]]
[[/b /d hen] [%line jab]]
[hen [%blit [[%mor ~] ~]]]
mos
==
==
@ -375,7 +375,7 @@
%boot
%= +.$
mos
:_(mos [wru [[%b ~] [%d tea] hen] p.fav])
:_(mos [[[%b ~] [%d tea] hen] p.fav])
==
::
%crud :: error trace
@ -412,12 +412,12 @@
==
::
?(%hail %make %loin %sith)
+.$(mos :_(mos [wru [/b /d hen] fav]))
+.$(mos :_(mos [[/b /d hen] fav]))
::
%note ?.(p.yar +.$ (fume p.fav q.fav)) :: debug message
%save :: write a file
%= +.$
mos :_(mos [wru hen `card`[%blit [%sav p.fav q.fav] ~]])
mos :_(mos [hen `card`[%blit [%sav p.fav q.fav] ~]])
==
::
%tell (furl (turn p.fav |=(a=@t (trip a)))) :: wall of text
@ -433,6 +433,10 @@
..^$(dug ?.(wip (~(put by dug) hen yar) (~(del by dug) hen)))
--
::
++ call :: process move
|= [hen=duct fav=card]
(beat ~ hen fav)
::
++ come
|= [sam=? old=vase]
^- vane

View File

@ -168,8 +168,7 @@
--
|% :: functions
++ ye :: per event
=| $: $: $: wru=(unit writ) :: event authority
tea=wire :: event place
=| $: $: $: tea=wire :: event place
hen=duct :: event floor
fav=card :: event data
== ::
@ -193,7 +192,7 @@
++ apex
|- ^+ +
?+ -.fav
+.$(mow [[wru hen fav] mow])
+.$(mow [[hen fav] mow])
::
%born +(ged hen) :: register external
%init :: register ownership
@ -210,29 +209,21 @@
==
::
%made
?. ?=([%honk @ @ ~] tea)
?. ?=([%honk @ @ @ ~] tea)
+.$
?> ?=(^ wru)
(galt q.u.wru i.t.tea (need (slaw %ud i.t.t.tea)) p.fav)
::
%that :: outbound response
?> ?=([@ @ @ ~] tea) ::
=+ :* our=(slaw %p i.tea) :: ship
ses=i.t.tea :: session
num=(slaw %ud i.t.t.tea) :: request in session
== ::
!!
%- galt
[(need (slaw %p i.t.tea)) i.t.t.tea (need (slaw %ud i.t.t.t.tea)) p.fav]
::
%them :: outbound request
?~ p.fav
=+ sud=(need (~(get by kes) hen))
%= +.$
mow :_(mow [~ ged [%thus sud ~]])
mow :_(mow [ged [%thus sud ~]])
q.ask (~(del by q.ask) sud)
kes (~(del by kes) hen)
==
%= +.$
mow :_(mow [~ ged [%thus p.ask p.fav]])
mow :_(mow [ged [%thus p.ask p.fav]])
p.ask +(p.ask)
q.ask (~(put by q.ask) p.ask hen u.p.fav)
kes (~(put by kes) hen p.ask)
@ -241,7 +232,7 @@
%they :: inbound response
=+ kas=(need (~(get by q.ask) p.fav))
%= +.$
mow :_(mow [~ p.kas [%thou q.fav]])
mow :_(mow [p.kas [%thou q.fav]])
q.ask (~(del by q.ask) p.kas)
==
::
@ -271,21 +262,20 @@
==
::
%thou :: remote return
?> ?=([@ *] tea)
(hajj (need (slaw %p i.tea)) t.tea p.fav)
?> ?=([@ @ *] tea)
(hajj (need (slaw %p i.tea)) (need (slaw %p i.t.tea)) t.t.tea p.fav)
::
%wart :: remote request
?> ?=(^ wru)
?+ q.fav
~& [%strange-wart p.fav q.fav]
+.$
::
%pr (hare r.fav q.p.fav s.fav)
%pr (hare p.p.fav r.fav q.p.fav s.fav)
%pc (here p.p.fav q.p.fav s.fav)
==
::
%waft
?. ?=([%hork @ ~] tea)
?. ?=([%hork @ @ ~] tea)
+.$
(gosh q.p.fav (need (slaw %ud i.t.tea)) ((hard httr) q.fav))
::
@ -293,16 +283,16 @@
+.$
::
%writ
?. ?=([%hoot @ @ ~] tea)
?. ?=([%hoot @ @ @ ~] tea)
+.$
?> ?=(^ wru)
(gout q.u.wru i.t.tea (need (slaw %ud i.t.t.tea)) p.fav)
%- gout
[(need (slaw %p i.t.tea)) i.t.t.tea (need (slaw %ud i.t.t.t.tea)) p.fav]
::
?(%helo %tell %text %talk %warn)
?. ?=([%cons @ @ ~] tea)
?. ?=([%cons @ @ @ ~] tea)
+.$
?> ?=(^ wru)
(goat q.u.wru i.t.tea (need (slaw %ud i.t.t.tea)) fav)
%- goat
[(need (slaw %p i.t.tea)) i.t.t.tea (need (slaw %ud i.t.t.t.tea)) fav]
==
::
++ doss :: host to ship
@ -346,7 +336,7 @@
=+ zur=(~(get by q.rem.u.ryt) num)
?~ zur +>.$
%_ +>.$
mow :_(mow [wru u.zur [%thou har]])
mow :_(mow [u.zur [%thou har]])
fon (~(put by fon) him u.ryt(q.rem (~(del by q.rem.u.ryt) num)))
==
::
@ -360,25 +350,24 @@
abet:work:(~(iota ya [our ses] u.suf u.cuz) num rot)
::
++ haji :: send %pc login
|= [him=ship ses=hole]
|= [our=ship him=ship ses=hole]
^+ +>
?> ?=(^ wru)
+>.$(mow :_(mow [wru [/a /e hen] [%want [q.u.wru him] [%r %pc ~] ses]]))
+>.$(mow :_(mow [[/a /e hen] [%want [our him] [%r %pc ~] ses]]))
::
++ hajj :: send %pr response
|= [him=ship tus=path har=httr]
|= [our=ship him=ship tus=path har=httr]
^+ +>
?> ?=(^ wru)
+>.$(mow :_(mow [wru [/a /e hen] [%want [q.u.wru him] [%r %pr tus] har]]))
+>.$(mow :_(mow [[/a /e hen] [%want [our him] [%r %pr tus] har]]))
::
++ hare :: receive request
|= [tus=path him=ship hor=*]
|= [our=ship tus=path him=ship hor=*]
^+ +>
=+ hux=((hard (unit httx)) hor)
%_ +>.$
mow
:_ mow
[wru [/e [%e (scot %p him) tus] hen] ?~(hux [%thud ~] [%this u.hux])]
:- [/e [%e (scot %p our) (scot %p him) tus] hen]
?~(hux [%thud ~] [%this u.hux])
==
::
++ here :: receive auth
@ -415,8 +404,7 @@
%_ +>
mow
:_ mow
:+ [~ %gold our]
[/c [%e %hoot ses (scot %ud num) ~] hen]
:- [/c [%e %hoot (scot %p our) ses (scot %ud num) ~] hen]
[%warp [our our] rif]
==
::
@ -425,9 +413,8 @@
%_ +>
mow
:_ mow
:+ [~ %gold our]
[/f [%e %honk ses (scot %ud num) ~] hen]
[%kill ~]
:- [/f [%e %honk (scot %p our) ses (scot %ud num) ~] hen]
[%exec our ~]
==
::
++ honk :: ford request
@ -436,9 +423,8 @@
%_ +>
mow
:_ mow
:+ [~ %gold our]
[/f [%e %honk ses (scot %ud num) ~] hen]
[%exec kas]
:- [/f [%e %honk (scot %p our) ses (scot %ud num) ~] hen]
[%exec our `kas]
==
::
++ hops :: cancel remote
@ -449,8 +435,7 @@
%_ +>.$
mow
:_ mow
:+ [~ %gold sor.rot]
[/a [%e %hork mun ~] hen]
:- [/a [%e %hork (scot %p sor.rot) mun ~] hen]
[%want [sor.rot him] [%q %pr %e %hork mun ~] ~]
==
::
@ -474,8 +459,7 @@
lor (~(put by lor) hen num [%| him])
mow
:_ mow
:+ [~ %gold sor.rot]
[/a [%e %hork mun ~] hen]
:- [/a [%e %hork mun ~] hen]
[%want [sor.rot him] [%q %pr %e %hork mun ~] [~ hyx]]
::
fon
@ -617,7 +601,7 @@
::
++ muff :: return card
|= fav=card
+>(mow :_(mow [wru hen fav]))
+>(mow :_(mow [hen fav]))
::
++ myth :: load session
|= [our=ship ses=hole]
@ -1700,8 +1684,7 @@
mow
?~ fuv mow
:_ mow
:+ [~ %gold our]
[/b [%e %cons ses (scot %ud p.som.pip) ~] ~ ~]
:- [/b [%e %cons (scot %p our) ses (scot %ud p.som.pip) ~] ~ ~]
u.fuv
==
[~ `pimp`pip(pez `pest`[%fin %raw 200 ~ ~])]
@ -1734,7 +1717,7 @@
[%next (jape (earn pul.p.som.pip))]
==
:_(+>.$ [~ pip(pez [%fin %mid /text/json (tact (pojo jon))])])
=. ..ya (haji u.foy.p.som.pip)
=. ..ya (haji our u.foy.p.som.pip)
=+ ^= lup ^- purl
:+ ^- hart
:+ & ~
@ -1829,18 +1812,22 @@
^? :: opaque core
|% ::
++ beat :: process move
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|= [tea=wire hen=duct fav=card]
^- [p=(list move) q=vane]
=+ sky=|=(* `(unit)`=+(a=(ska +<) ?~(a ~ ?~(u.a ~ [~ u.u.a]))))
=. ney (shax :(mix (shax now) +(eny) ney)) :: XX!! shd not need
?: ?=(%crud -.fav)
[[[wru [/d hen] %flog fav] ~] ..^$]
[[[[/d hen] %flog fav] ~] ..^$]
^- [p=(list move) q=vane]
=. gub ?.(=(0 gub) gub (cat 3 (rsh 3 1 (scot %p (end 6 1 eny))) '-'))
=^ mos bol
abet:apex:~(adit ye [[wru tea hen fav] [now eny sky] ~] bol)
abet:apex:~(adit ye [[tea hen fav] [now eny sky] ~] bol)
[mos ..^$]
::
++ call :: process move
|= [hen=duct fav=card]
(beat ~ hen fav)
::
++ come
|= [sam=? old=vase]
^- vane

View File

@ -124,7 +124,7 @@
^- [(list move) baby]
[(flop mow) bay]
::
++ apex
++ apex :: advance
|- ^+ +.$
?^ tea
?> ?=([@ @ ~] tea)
@ -136,20 +136,17 @@
+.$
(~(resp zo [num u.tus]) (need (slaw %ud i.t.tea)) p.fav)
::
?+ -.fav +.$
%exec
=+ num=p.tad.bay
?> !(~(has by dym.bay) hen)
=: p.tad.bay +(p.tad.bay)
dym.bay (~(put by dym.bay) hen num)
==
~(exec zo [num `task`[hen p.fav 0 ~]])
::
%kill
?> ?=(%exec -.fav)
?~ q.fav
=+ num=(need (~(get by dym.bay) hen))
=+ tas=(need (~(get by q.tad.bay) num))
amok:~(camo zo [num tas])
==
=+ num=p.tad.bay
?> !(~(has by dym.bay) hen)
=: p.tad.bay +(p.tad.bay)
dym.bay (~(put by dym.bay) hen num)
==
~(exec zo [num `task`[hen u.q.fav 0 ~]])
::
++ zo
|_ [num=@ud task]
@ -163,8 +160,7 @@
%= $
kiz t.kiz
mow :_ mow
:+ [~ %iron our]
[/c [%f (scot %ud num) (scot %ud p.i.kiz) ~] hen]
:- [/c [%f (scot %ud num) (scot %ud p.i.kiz) ~] hen]
[%warp [our p.q.i.kiz] q.q.i.kiz ~]
==
::
@ -177,8 +173,7 @@
==
%= $
mow :_ mow
:+ [~ %iron our]
[/c [%f (scot %ud num) (scot %ud tik) ~] hen]
:- [/c [%f (scot %ud num) (scot %ud tik) ~] hen]
[%warp [our p.bem] q.bem [~ %& %x r.bem s.bem]]
==
::
@ -291,7 +286,7 @@
::
++ expo :: return card
|= fav=card
%_(+> mow :_(mow [[~ %iron our] hen fav]))
%_(+> mow :_(mow [hen fav]))
::
++ fade :: compile
|= [cof=cafe kas=silk]
@ -573,15 +568,22 @@
^? :: opaque core
|% ::
++ beat :: process move
|= [wru=(unit writ) tea=wire hen=duct fav=card]
|= [tea=wire hen=duct fav=card]
^- [p=(list move) q=vane]
?~ wru ~|(%beat-whom !!)
=+ ^= our ^- @p
?+ -.fav !!
%exec p.fav
==
=+ ^= bay ^- baby
=+ buy=(~(get by pol.lex) q.u.wru)
=+ buy=(~(get by pol.lex) our)
?~(buy *baby u.buy)
=^ mos bay
abet:~(apex za [[q.u.wru tea hen fav] [now eny ska] ~] bay)
[mos ..^$(pol (~(put by pol) q.u.wru bay))]
abet:~(apex za [[our tea hen fav] [now eny ska] ~] bay)
[mos ..^$(pol (~(put by pol) our bay))]
::
++ call :: process move
|= [hen=duct fav=card]
(beat ~ hen fav)
::
++ come
|= [sam=? old=vase]

View File

@ -13,12 +13,20 @@
++ gaff :: hive product
|* a=$+(* *) ::
$% [%call p=term q=a] :: advance card
[%drip p=a] :: return card
[%stop ~] :: reset duct
[%give p=a] :: return card
[%play p=path q=a] :: reset duct
== ::
++ shoe
$%
++ sign :: gall card inbound
$% [%user p=nave q=sign] :: limited permission
[
==
++ soul
++ seat :: living app
$: huv=(unit vase) :: current hive
dep=(set beak) :: dependencies
dep=(set ,[p=ship q=desk]) :: dependencies
orm=(unit ,@da) :: requested at
eny=@ :: entropy
lat=@da :: time of last tick
@ -89,20 +97,23 @@
^- [(list move) seat]
[(flop mow) sat]
::
++ apex :: execute card
|= rew=wren
?~ pax.rew
(babe rew)
=+ tem=i.pax.rew
=. pax.rew t.pax.rew
?+ tem !!
%used (babe rew)
%boot (boot rew)
%poke (poke rew)
++ apex :: returning card
|= [pan=term pax=path fav=card]
?+ pan !!
%boot (boot pax fav)
%poke (poke pax fav)
%user (axon pax fav)
%wait (wait pax fav)
==
::
++ axon :: user card
|= [pax=path fav=card]
?> ?=(
::
++ babe :: poke or wait
|= [pax=path fav=card]
?> ?=(%meta -.fav)
?~ huv.sat
(bait pax fav)
%= +>
@ -137,58 +148,61 @@
::
++ poof :: apply effect
|= vax=vase
^+ +>
=+ nab=(,@ q:(slot 2 vax))
=+ vib=(need (~(get by zos.sat) nab))
=: bun nab
god p.vib
hen q.vib
==
(puss (slot 3 vax))
::
++ puss :: poke gaff
|= vax=vase
^+ +>
=. vax (spec vax)
?+ -.q.vax !!
%call
=+ ney=`@tas`(sane %tas ((hard ,@) q:(slot 6 vax)))
=+ cav=(quod (slot 7 vax))
(call
(call ney %used [%meta our cav])
::
%drip
(drip [%meta our (slot 3 vax)])
::
%stop
+>.$(zos (~(del by zos) bun))
==
::
++ quod :: typecheck hive
|= vax=vase
vax :: XX
::
?: ?=([%boot *] pax)
?> ?=(%made -.fav)
?- -.p.fav
| (drip [%crud %gall p.p.fav])
& (dear p.fav q.fav)
==
?> ?=([%
==
::
++ axon
[
vax :: XX
::
++ kick :: run engine
|- ^+ +
?~ vey.sat +.$
?~ huv.sat +.$
=^ lef vey.sat ~(get to vey.sat)
=^
=^ lef vey.sat ~(get to vey.sat)
++ blam :: block on slam
|= [cod=@tas gat=vase sam=vase]
^+ +>
++ dear :: reset
|= [dep=(set beam) cay=cage]
?> ?=(~ huv.sat)
more(huv.sat [~ q.p.cay])
|= [dep=(set beam) vax=vase]
deep(huv.sat `vax)
::
++ call :: advance a card
|= [vay=term
|= [vay=term pan=term fav=card]
^+ +>
%= +> mow :_ mow
^- move
:+ [~ %iron our]
^- duct
[[vay ~] [/g (scot %p our) app pan ~]
fav
==
::
++ drip :: return a card
|= fav=card
@ -206,10 +220,6 @@
[%wtts [%dtzz %tas -.q.vax] [%$ 2]]
[%$ 1]
::
++ poke :: poke the vase
|= rew=wren
=+
::
++ more
|- ^+ +
?> ?=(^ huv.sat)
@ -266,6 +276,12 @@
|= [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
^? :: opaque core
|% ::
++ swim :: inbound card
|= [hen=duct sut=type sin=sign] ::
!!
++ dive
|= [hen=duct loc=path
!!
++ beat :: process move
|= [wru=(unit writ) tea=wire hen=duct fav=card]
^- [p=(list move) q=vane]

View File

@ -144,11 +144,6 @@
== ::
++ ring ,@ :: private key
++ rule |=(tub=nail `edge`[p.tub ~ ~ tub]) :: parsing rule
++ shoe $% [%hunk p=tank] :: XX not used
[%lose p=term] ::
[%mean p=*] ::
[%spot p=spot] ::
== ::
++ span ,@ta :: text-atom (ASCII)
++ spot ,[p=path q=pint] :: range in file
++ tank $% [%leaf p=tape] :: printing formats
@ -2972,6 +2967,7 @@
--
++ scot |=(mol=dime ~(rent co %$ mol))
++ scow |=(mol=dime ~(rend co %$ mol))
++ slav |=([mod=@tas txt=@ta] (need (slaw mod txt)))
++ slaw
|= [mod=@tas txt=@ta]
^- (unit ,@)
@ -8774,18 +8770,16 @@
$% [%lead p=ship] :: foreign
== ::
++ hilt ?(0 1 2) :: lead iron gold
++ muve ,[p=(unit writ) q=duct r=curd] :: typeless move
++ muve ,[p=duct q=curd] :: typeless move
++ muvi ,[p=duct q=muvo] :: new move
++ muvo :: new move
$% [%call p=term q=path r=curd] :: advance
[%give p=curd] :: retreat
== ::
++ ovum ,[p=wire q=curd] :: typeless ovum
++ pane (list ,[p=@tas q=vase]) :: kernel modules
++ pone (list ,[p=@tas q=vise]) :: kernel modules, old
++ ship ,@p :: network identity
++ vile :: reflexive constants
$: bet=type :: beat
nim=type :: scry
vin=type :: vane
hoz=type :: doze
viz=type :: vane
==
++ wire path :: event pretext
++ writ ,[p=helm q=ship] :: authority
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@ -8808,14 +8802,14 @@
$(hen t.hen)
::
++ vent :: vane core
|= [vil=vile bud=vase ves=vase]
|= [lal=term bud=vase ves=vase]
|%
++ ruck :: update vase
|= [pax=path txt=@ta]
^+ +>
=+ arg=[~2000.1.1 0 =>(~ |+(* ~))]
=+ rig=(slym ves arg)
=+ rev=(slam (slap bud (rain pax txt)) `vase`[viz.vil bud])
=+ rev=(slym (slap bud (rain pax txt)) bud)
=+ syg=(slym rev arg)
=+ ole=(slap rig [%cnzy %stay])
=+ [vol=(slap rig [%cnzy %vern]) vew=(slap syg [%cnzy %vern])]
@ -8830,19 +8824,32 @@
ves (slam (slap syg [%cnzy %come]) (slop [[%cube sam %atom %f] sam] ole))
==
::
++ pown
|= [a=term b=(list muvi)]
^- (list muve)
?~ b ~
:_ $(b t.b)
?- -.q.i.b
%call [[[p.q.i.b ~] [%a q.q.i.b] p.i.b] q.i.b]
%give [p.i.b q.i.b]
==
::
++ wink :: deploy
|= [now=@da eny=@ sky=$+(* (unit (unit)))]
=+ rig=(slym ves +<)
|%
++ beat
|= $: wru=(unit writ)
pax=wire
|= $: pax=wire
hen=duct
fav=curd
==
^- [p=(list muve) q=_+>.^$]
=+ pro=(slym (slap rig [%cnzy %beat]) +<.$)
:- ((hard (list muve)) q:(slap pro [%cnzy %p]))
=+ ^= pro
?: =(~ pax)
(slym (slap rig [%cnzy %call]) [hen fav])
(slym (slap rig [%cnzy %beat]) [pax hen fav])
:: :- (pown lal ((list muvi) q:(slap pro [%cnzy %p])))
:- ((list muve) q:(slap pro [%cnzy %p]))
=+ sev=(slap pro [%cnzy %q])
%= +>.^$
ves
@ -8871,22 +8878,11 @@
--
::
++ vint :: create vane
|= [vil=vile bud=vase pax=path txt=@ta] ::
(vent vil bud (slam (slap bud (rain pax txt)) [viz.vil bud]))
::
++ viol :: vane tools
|= but=type
^- vile
=+ pal=|=(a=@t ^-(type (~(play ut but) (vice a))))
:* bet=(pal '_[(unit writ) wire duct curd]')
nim=(pal '_[ship @tas ship @tas coin path]')
vin=(pal '_[@da @ $+(* (unit))]')
hoz=(pal '_[@da duct]')
viz=(pal '_vase')
==
|= [lal=term bud=vase pax=path txt=@ta] ::
(vent lal bud (slym (slap bud (rain pax txt)) bud))
::
++ is :: operate in time
|= [eny=@ vil=vile bud=vase fan=(list ,[p=@tas q=vase])]
|= [eny=@ bud=vase fan=(list ,[p=@tas q=vase])]
|_ now=@da
++ beck
|= wru=(unit writ)
@ -8914,7 +8910,7 @@
|- ^- (unit (unit))
?~ fan ~
?. =(dis p.i.fan) $(fan t.fan)
%- scry:(wink:(vent vil bud q.i.fan) now (shax now) ..^$)
%- scry:(wink:(vent p.i.fan bud q.i.fan) now (shax now) ..^$)
[q.u.wru rem his q.p.u.dyc u.ved tyl]
::
++ dink :: vase by char
@ -8934,17 +8930,12 @@
::
++ doos :: sleep until
|= hap=path ^- (unit ,@da)
(doze:(wink:(vent vil bud (dink (dint hap))) now 0 (beck ~)) now [hap ~])
(doze:(wink:(vent %$ bud (dink (dint hap))) now 0 (beck ~)) now [hap ~])
::
++ hurl :: start loop no id
|= ovo=ovum
^- [p=(list ovum) q=(list ,[p=@tas q=vase])]
(kick [[~ [[(dint p.ovo) ~] p.ovo ~] q.ovo] ~])
::
++ hymn :: start loop with id
|= [who=ship ovo=ovum]
^- [p=(list ovum) q=(list ,[p=@tas q=vase])]
(kick [[[~ %iron who] [[(dint p.ovo) ~] p.ovo ~] q.ovo] ~])
(kick [[[[(dint p.ovo) ~] p.ovo ~] q.ovo] ~])
::
++ kick :: complete loop
|= mor=(list muve)
@ -8953,27 +8944,26 @@
|- ^- [p=(list ovum) q=(list ,[p=@tas q=vase])]
?~ mor
[(flop ova) fan]
:: ~& [%kick-move q.i.mor -.r.i.mor]
?. ?=(^ q.i.mor)
~& [%kick-flat -.r.i.mor]
:: ~& [%kick-move p.i.mor -.q.i.mor]
?. ?=(^ p.i.mor)
~& [%kick-flat -.q.i.mor]
~& [%kick-rom rom]
$(mor t.mor)
?~ t.q.i.mor
$(mor t.mor, ova [[i.q.i.mor r.i.mor] ova])
?> ?=(^ i.q.i.mor)
?~ t.p.i.mor
$(mor t.mor, ova [[i.p.i.mor q.i.mor] ova])
?> ?=(^ i.p.i.mor)
=- $(mor (weld p.nyx t.mor), fan q.nyx)
^= nyx
=+ naf=fan
|- ^- [p=(list muve) q=_fan]
?~ naf [~ ~]
?. =(i.i.q.i.mor p.i.naf)
?. =(i.i.p.i.mor p.i.naf)
=+ tuh=$(naf t.naf)
[p.tuh [i.naf q.tuh]]
=+ ven=(vent vil bud q.i.naf)
=+ win=(wink:ven now (shax now) (beck p.i.mor))
=+ ven=(vent p.i.naf bud q.i.naf)
=+ win=(wink:ven now (shax now) (beck ~))
=+ ^= yub
%- beat:win
[p.i.mor t.i.q.i.mor t.q.i.mor r.i.mor]
(beat:win t.i.p.i.mor t.p.i.mor q.i.mor)
[p.yub [[p.i.naf ves:q.yub] t.naf]]
--
--
@ -8982,7 +8972,6 @@
:::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::
=+ pit=`vase`!>(.) ::
=+ bud=pit :: becomes tang
=+ vil=(viol p.bud) ::
=| eny=@ :: entropy
=| fan=(list ,[p=@tas q=vase]) ::
=| hom=path :: source path
@ -9025,7 +9014,7 @@
++ keep :: wakeup delay
|= [now=@da hap=path]
=> .(+< ((hard ,[now=@da hap=path]) +<))
(~(doos (is eny vil bud fan) now) hap)
(~(doos (is eny bud fan) now) hap)
::
++ load :: load compatible
|= [yen=@ ova=(list ovum) nyf=pane]
@ -9044,7 +9033,7 @@
|= [now=@da hap=path]
^- (unit)
?~ hap [~ stub]
=+ rob=((~(beck (is eny vil bud fan) now) ~) hap)
=+ rob=((~(beck (is eny bud fan) now) ~) hap)
?~ rob ~
?~ u.rob ~
[~ u.u.rob]
@ -9054,7 +9043,7 @@
=. eny (mix eny (shax now))
^- [(list ovum) _+>]
=^ zef fan
(~(hurl (is eny vil bud fan) now) ovo)
(~(hurl (is eny bud fan) now) ovo)
[zef +>.$]
::
++ vega :: reboot kernel
@ -9090,11 +9079,11 @@
|- ^+ fan
?~ fan
~& [%vane `@tas`lal pax `@p`(mug txt)]
[[lal ves:(vint vil bud pax txt)] fan]
[[lal ves:(vint lal bud pax txt)] fan]
?. =(lal p.i.fan)
[i.fan $(fan t.fan)]
~& [%vane `@tas`lal pax `@p`(mug txt)]
[[p.i.fan ves:(ruck:(vent vil bud q.i.fan) pax txt)] t.fan]
[[p.i.fan ves:(ruck:(vent lal bud q.i.fan) pax txt)] t.fan]
==
::
++ wish :: external compute

View File

@ -2043,7 +2043,7 @@
[%dire p=@tas q=dram] :: apply directory
[%dump p=(list ,@t)] :: raw text lines
[%ergo p=@p q=@tas r=@ud] :: version update
[%exec p=silk] :: make something
[%exec p=@p q=(unit silk)] :: make / kill
[%file p=@tas q=@] :: apply atomic file
[%fail p=tape] :: report failure
[%grab ~] :: collect grabage
@ -2071,7 +2071,7 @@
[%logo p=@] :: logout
[%loot p=@tas q=path] :: request directory
[%make p=(unit ,@t) q=@ud r=@] :: wild license
[%mean p=ship q=term r=nave s=card] :: application event
[%mean p=ship q=term r=nave s=vase] :: application event
[%meta p=ship q=vase] :: abstract app action
[%meat p=ship q=card] :: concrete app action
[%mine p=@ud q=@t] :: query matched line
@ -2368,7 +2368,12 @@
++ moat ,[p=case q=case] :: change range
++ monk (each ship khan) :: general identity
++ mood ,[p=care q=case r=path] :: request in desk
++ move ,[p=(unit writ) q=duct r=card] :: typeless move
++ move ,[p=duct q=card] :: move
++ movi ,[p=duct q=movo] :: new move
++ movo :: new move
$% [%call p=term q=path r=card] :: advance
[%give p=card] :: retreat
== ::
++ moth ,[p=meth q=math r=(unit octs)] :: http operation
++ name ,[p=@t q=(unit ,@t) r=(unit ,@t) s=@t] :: first mid/nick last
++ nave ::
@ -2579,17 +2584,22 @@
|+ [now=@da eny=@ ska=$+(* (unit (unit)))] :: activate
^? |% ::
++ beat :: update
|= $: wru=(unit writ) :: calling identity
pax=wire :: pretext
|= $: pax=wire :: pretext
hen=duct :: channel
fav=card :: event
== ::
:- p=*(list move) :: actions
q=*vane :: consequence
++ call :: update
|= $: hen=duct :: channel
fav=card :: event
== ::
:- p=*(list move) :: actions
q=*vane :: consequence
++ come :: load state, stale
|= [sam=? old=vase] ::
*vane ::
++ doze :: next wakeup
++ doze :: next wakeup
|= [now=@da hen=duct] :: channel
*(unit ,@da) :: alarm if any
++ load :: load state, fresh