mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-17 11:51:32 +03:00
Merge branch 'newbreach' into crub
Conflicts: urb/urbit.pill
This commit is contained in:
commit
55d098b626
@ -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]
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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]
|
||||
|
100
arvo/gall.hoon
100
arvo/gall.hoon
@ -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]
|
||||
|
105
arvo/hoon.hoon
105
arvo/hoon.hoon
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user