2014-10-22 06:59:05 +04:00
|
|
|
!:
|
2015-05-08 22:43:11 +03:00
|
|
|
:: dill (4d), terminal handling
|
2013-09-29 00:21:18 +04:00
|
|
|
::
|
2013-12-15 09:42:27 +04:00
|
|
|
|= pit=vase
|
2014-06-09 01:27:04 +04:00
|
|
|
=> |% :: interface tiles
|
2015-03-18 19:40:40 +03:00
|
|
|
++ console-action :: console to app
|
|
|
|
$% [%det console-change] :: edit prompt line
|
|
|
|
[%inn ~] :: enter session
|
|
|
|
[%out ~] :: exit session
|
|
|
|
[%ret ~] :: submit and clear
|
|
|
|
== ::
|
|
|
|
++ console-buffer (list ,@c) :: command state
|
|
|
|
++ console-change :: network change
|
|
|
|
$: ler=console-clock :: destination clock
|
|
|
|
haw=@uvH :: source hash
|
|
|
|
ted=console-edit :: state change
|
|
|
|
== ::
|
|
|
|
++ console-clock ,[own=@ud his=@ud] :: vector clock
|
|
|
|
++ console-edit :: shared state change
|
|
|
|
$% [%del p=@ud] :: delete one at
|
|
|
|
[%ins p=@ud q=@c] :: insert at
|
|
|
|
[%mor p=(list console-edit)] :: combination
|
|
|
|
[%nop ~] :: no-op
|
|
|
|
[%set p=console-buffer] :: discontinuity
|
|
|
|
== ::
|
|
|
|
++ console-effect :: app to console
|
|
|
|
$% [%bel ~] :: beep
|
|
|
|
[%blk p=@ud q=@c] :: blink/match char at
|
|
|
|
[%clr ~] :: clear screen
|
|
|
|
[%det console-change] :: edit input
|
|
|
|
[%nex ~] :: save and clear input
|
|
|
|
[%tan p=(list tank)] :: classic tank
|
|
|
|
:: [%taq p=tanq] :: modern tank
|
|
|
|
[%txt p=tape] :: text line
|
|
|
|
== ::
|
|
|
|
++ dill-belt :: console input
|
|
|
|
$% [%aro p=?(%d %l %r %u)] :: arrow key
|
|
|
|
[%bac ~] :: true backspace
|
|
|
|
[%cru p=@tas q=(list tank)] :: echo error
|
2015-04-08 02:07:10 +03:00
|
|
|
[%ctl p=@c] :: control-key
|
2015-03-18 19:40:40 +03:00
|
|
|
[%del ~] :: true delete
|
2015-04-08 02:07:10 +03:00
|
|
|
[%met p=@c] :: meta-key
|
2015-03-18 19:40:40 +03:00
|
|
|
[%ret ~] :: return
|
|
|
|
[%rez p=@ud q=@ud] :: resize, cols, rows
|
|
|
|
[%txt p=(list ,@c)] :: utf32 text
|
|
|
|
[%yow p=gill] :: connect to app
|
|
|
|
== ::
|
|
|
|
++ dill-blit :: console output
|
|
|
|
$% [%bel ~] :: make a noise
|
|
|
|
[%clr ~] :: clear the screen
|
|
|
|
[%hop p=@ud] :: set cursor position
|
2015-03-25 01:56:11 +03:00
|
|
|
[%mor p=(list dill-blit)] :: multiple blits
|
2015-03-18 19:40:40 +03:00
|
|
|
[%pro p=(list ,@c)] :: show as cursor/line
|
2015-04-01 23:56:43 +03:00
|
|
|
[%qit ~] :: close console
|
2015-03-18 19:40:40 +03:00
|
|
|
[%out p=(list ,@c)] :: send output line
|
|
|
|
[%sag p=path q=*] :: save to jamfile
|
|
|
|
[%sav p=path q=@] :: save to file
|
|
|
|
== ::
|
2015-03-23 01:46:42 +03:00
|
|
|
++ gill (pair ship term) :: general contact
|
2015-03-18 19:40:40 +03:00
|
|
|
-- ::
|
|
|
|
=> |% :: console protocol
|
2015-05-06 22:55:47 +03:00
|
|
|
++ axle :: all dill state
|
2015-05-08 22:43:11 +03:00
|
|
|
$: %2 ::
|
2015-05-06 22:55:47 +03:00
|
|
|
ore=(unit ship) :: identity once set
|
|
|
|
hey=(unit duct) :: default duct
|
|
|
|
dug=(map duct axon) :: conversations
|
|
|
|
== ::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ axon :: dill per duct
|
|
|
|
$: ram=term :: console program
|
|
|
|
tem=(unit (list dill-belt)) :: pending, reverse
|
|
|
|
wid=_80 :: terminal width
|
|
|
|
pos=@ud :: cursor position
|
|
|
|
see=(list ,@c) :: current line
|
|
|
|
== ::
|
|
|
|
-- => ::
|
|
|
|
|% :: protocol below
|
|
|
|
++ blew ,[p=@ud q=@ud] :: columns rows
|
|
|
|
++ belt :: raw console input
|
|
|
|
$% [%aro p=?(%d %l %r %u)] :: arrow key
|
|
|
|
[%bac ~] :: true backspace
|
2015-04-08 02:07:10 +03:00
|
|
|
[%ctl p=@c] :: control-key
|
2015-03-18 19:40:40 +03:00
|
|
|
[%del ~] :: true delete
|
2015-04-08 02:07:10 +03:00
|
|
|
[%met p=@c] :: meta-key
|
2015-03-18 19:40:40 +03:00
|
|
|
[%ret ~] :: return
|
|
|
|
[%txt p=(list ,@c)] :: utf32 text
|
|
|
|
== ::
|
|
|
|
++ blit :: raw console output
|
|
|
|
$% [%bel ~] :: make a noise
|
|
|
|
[%clr ~] :: clear the screen
|
|
|
|
[%hop p=@ud] :: set cursor position
|
|
|
|
[%lin p=(list ,@c)] :: set current line
|
|
|
|
[%mor ~] :: newline
|
|
|
|
[%sag p=path q=*] :: save to jamfile
|
|
|
|
[%sav p=path q=@] :: save to file
|
|
|
|
== ::
|
|
|
|
++ flog :: sent to %dill
|
2015-05-08 22:43:11 +03:00
|
|
|
$% [%crud p=@tas q=(list tank)] ::
|
|
|
|
[%text p=tape] ::
|
2015-03-18 19:40:40 +03:00
|
|
|
[%veer p=@ta q=path r=@t] :: install vane
|
|
|
|
[%vega p=path] :: reboot by path
|
|
|
|
[%verb ~] :: verbose mode
|
|
|
|
== ::
|
2014-06-03 09:07:32 +04:00
|
|
|
++ gift :: out result <-$
|
2015-03-18 19:40:40 +03:00
|
|
|
$% [%bbye ~] :: reset prompt
|
|
|
|
[%blit p=(list blit)] :: terminal output
|
|
|
|
[%init p=@p] :: set owner
|
|
|
|
[%logo ~] :: logout
|
|
|
|
[%veer p=@ta q=path r=@t] :: install vane
|
|
|
|
[%vega p=path] :: reboot by path
|
|
|
|
[%verb ~] :: verbose mode
|
|
|
|
== ::
|
2014-06-03 09:07:32 +04:00
|
|
|
++ kiss :: in request ->$
|
2015-03-18 19:40:40 +03:00
|
|
|
$% [%belt p=belt] :: terminal input
|
|
|
|
[%blew p=blew] :: terminal config
|
|
|
|
[%boot p=*] :: weird %dill boot
|
|
|
|
[%crud p=@tas q=(list tank)] :: error with trace
|
|
|
|
[%flog p=flog] :: wrapped error
|
|
|
|
[%flow p=@tas q=(list gill)] :: terminal config
|
|
|
|
[%hail ~] :: terminal refresh
|
|
|
|
[%hook ~] :: this term hung up
|
|
|
|
[%harm ~] :: all terms hung up
|
|
|
|
[%init p=ship] :: after gall ready
|
|
|
|
[%noop ~] :: no operation
|
|
|
|
[%talk p=tank] ::
|
|
|
|
[%text p=tape] ::
|
|
|
|
[%veer p=@ta q=path r=@t] :: install vane
|
|
|
|
[%vega p=path] :: reboot by path
|
|
|
|
[%verb ~] :: verbose mode
|
|
|
|
== ::
|
|
|
|
-- => ::
|
|
|
|
|% :: protocol outward
|
|
|
|
++ mess ::
|
|
|
|
$% [%dill-belt p=(hypo dill-belt)] ::
|
|
|
|
== ::
|
2015-05-08 22:43:11 +03:00
|
|
|
++ club :: agent action
|
|
|
|
$% [%peer p=path] :: subscribe
|
|
|
|
[%poke p=cage] :: apply
|
|
|
|
[%pull ~] :: unsubscribe
|
|
|
|
[%pump ~] :: pump yes/no
|
|
|
|
== ::
|
|
|
|
++ cuft :: internal gift
|
|
|
|
$% [%coup p=(unit tang)] :: poke result
|
|
|
|
[%quit ~] :: close subscription
|
|
|
|
[%reap p=(unit tang)] :: peer result
|
|
|
|
[%diff p=cage] :: subscription output
|
|
|
|
== ::
|
|
|
|
++ cuss (pair term club) :: internal kiss
|
|
|
|
++ suss (trel term ,@tas ,@da) :: config report
|
2014-06-22 09:49:10 +04:00
|
|
|
++ move ,[p=duct q=(mold note gift)] :: local move
|
2015-03-18 19:40:40 +03:00
|
|
|
++ note-ames :: weird ames move
|
|
|
|
$% [%make p=(unit ,@t) q=@ud r=@ s=?] ::
|
|
|
|
[%sith p=@p q=@uw r=?] ::
|
|
|
|
== ::
|
2015-04-30 01:48:45 +03:00
|
|
|
++ note-clay ::
|
|
|
|
$% [%font p=@p q=@tas r=@p s=@tas] ::
|
|
|
|
[%warp p=sock q=riff] :: wait for clay, hack
|
2015-03-18 19:40:40 +03:00
|
|
|
== ::
|
|
|
|
++ note-dill :: note to self, odd
|
|
|
|
$% [%crud p=@tas q=(list tank)] ::
|
2015-04-08 21:27:51 +03:00
|
|
|
[%init p=ship] ::
|
2015-03-18 19:40:40 +03:00
|
|
|
[%text p=tape] ::
|
|
|
|
[%veer p=@ta q=path r=@t] :: install vane
|
|
|
|
[%vega p=path] :: reboot by path
|
|
|
|
[%verb ~] :: verbose mode
|
|
|
|
== ::
|
2015-05-10 01:55:05 +03:00
|
|
|
++ note-gall ::
|
2015-05-08 22:43:11 +03:00
|
|
|
$% [%conf dock %load ship desk] ::
|
|
|
|
[%deal p=sock q=cuss] ::
|
2015-03-18 19:40:40 +03:00
|
|
|
== ::
|
2015-05-08 22:43:11 +03:00
|
|
|
++ note :: out request $->
|
|
|
|
$% [%a note-ames] ::
|
2015-04-08 21:27:51 +03:00
|
|
|
[%c note-clay] ::
|
2015-03-18 19:40:40 +03:00
|
|
|
[%d note-dill] ::
|
2015-05-10 01:55:05 +03:00
|
|
|
[%g note-gall] ::
|
2015-05-08 22:43:11 +03:00
|
|
|
== ::
|
2014-10-28 04:50:07 +03:00
|
|
|
++ riff ,[p=desk q=(unit rave)] :: see %clay
|
2015-03-18 19:40:40 +03:00
|
|
|
++ sign-ames ::
|
|
|
|
$% [%nice ~] ::
|
|
|
|
[%init p=ship] ::
|
|
|
|
== ::
|
2015-05-10 01:55:05 +03:00
|
|
|
++ sign-gall :: see %gall
|
2015-05-08 22:43:11 +03:00
|
|
|
$% [%onto p=(unit tang)] ::
|
|
|
|
== ::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ sign-clay ::
|
2015-04-30 01:48:45 +03:00
|
|
|
$% [%mere p=(each (set path) (pair term tang))] ::
|
|
|
|
[%note p=@tD q=tank] ::
|
2015-03-18 19:40:40 +03:00
|
|
|
[%writ p=riot] ::
|
|
|
|
== ::
|
2015-03-19 01:01:47 +03:00
|
|
|
++ sign-dill ::
|
|
|
|
$% [%blit p=(list blit)] ::
|
|
|
|
== ::
|
2015-05-10 01:55:05 +03:00
|
|
|
++ sign-gall ::
|
2015-05-08 22:43:11 +03:00
|
|
|
$% [%onto p=(each suss tang)] ::
|
|
|
|
[%unto p=cuft] ::
|
2015-03-18 19:40:40 +03:00
|
|
|
== ::
|
|
|
|
++ sign-time ::
|
|
|
|
$% [%wake ~] ::
|
|
|
|
== ::
|
2014-06-22 09:49:10 +04:00
|
|
|
++ sign :: in result $<-
|
2015-03-18 19:40:40 +03:00
|
|
|
$% [%a sign-ames] ::
|
|
|
|
[%c sign-clay] ::
|
2015-03-19 01:01:47 +03:00
|
|
|
[%d sign-dill] ::
|
2015-05-10 01:55:05 +03:00
|
|
|
[%g sign-gall] ::
|
2015-03-18 19:40:40 +03:00
|
|
|
[%t sign-time] ::
|
2015-05-08 22:43:11 +03:00
|
|
|
== ::
|
2014-06-09 01:27:04 +04:00
|
|
|
:::::::: :: dill tiles
|
2015-03-18 19:40:40 +03:00
|
|
|
--
|
|
|
|
=| all=axle
|
|
|
|
|= [now=@da eny=@ ski=sled] :: current invocation
|
|
|
|
=> |%
|
|
|
|
++ as :: per cause
|
|
|
|
|_ $: [moz=(list move) hen=duct our=ship]
|
|
|
|
axon
|
2013-11-12 23:22:15 +04:00
|
|
|
==
|
2015-03-18 19:40:40 +03:00
|
|
|
++ abet :: resolve
|
|
|
|
^- [(list move) axle]
|
|
|
|
[(flop moz) all(dug (~(put by dug.all) hen +<+))]
|
2013-09-29 00:21:18 +04:00
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ call :: receive input
|
|
|
|
|= kyz=kiss
|
|
|
|
^+ +>
|
|
|
|
?+ -.kyz ~& [%strange-kiss -.kyz] +>
|
|
|
|
%flow +>
|
|
|
|
%harm +>
|
|
|
|
%hail +>
|
|
|
|
%belt (send `dill-belt`p.kyz)
|
2015-03-19 01:01:47 +03:00
|
|
|
%text (from %out (tuba p.kyz))
|
|
|
|
%crud :: (send `dill-belt`[%cru p.kyz q.kyz])
|
|
|
|
(crud p.kyz q.kyz)
|
2015-03-18 19:40:40 +03:00
|
|
|
%blew (send %rez p.p.kyz q.p.kyz)
|
|
|
|
%veer (dump kyz)
|
|
|
|
%vega (dump kyz)
|
|
|
|
%verb (dump kyz)
|
2013-09-29 00:21:18 +04:00
|
|
|
==
|
|
|
|
::
|
2015-03-19 01:01:47 +03:00
|
|
|
++ crud
|
|
|
|
|= [err=@tas tac=(list tank)]
|
|
|
|
=+ ^= wol ^- wall
|
|
|
|
:- (trip err)
|
|
|
|
(zing (turn tac |=(a=tank (~(win re a) [0 wid]))))
|
|
|
|
|- ^+ +>.^$
|
|
|
|
?~ wol +>.^$
|
|
|
|
$(wol t.wol, +>.^$ (from %out (tuba i.wol)))
|
2013-09-29 00:21:18 +04:00
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ dump :: pass down to hey
|
|
|
|
|= git=gift
|
|
|
|
?> ?=(^ hey.all)
|
|
|
|
+>(moz [[u.hey.all %give git] moz])
|
2013-09-29 00:21:18 +04:00
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ done :: return gift
|
|
|
|
|= git=gift
|
|
|
|
+>(moz :_(moz [hen %give git]))
|
2015-02-09 00:22:33 +03:00
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ from :: receive belt
|
|
|
|
|= bit=dill-blit
|
|
|
|
^+ +>
|
2015-03-25 01:56:11 +03:00
|
|
|
?: ?=(%mor -.bit)
|
|
|
|
|- ^+ +>.^$
|
|
|
|
?~ p.bit +>.^$
|
|
|
|
$(p.bit t.p.bit, +>.^$ ^$(bit i.p.bit))
|
2015-03-18 19:40:40 +03:00
|
|
|
?: ?=(%out -.bit)
|
|
|
|
%+ done %blit
|
|
|
|
:~ [%lin p.bit]
|
|
|
|
[%mor ~]
|
|
|
|
[%lin see]
|
|
|
|
[%hop pos]
|
2013-09-29 00:21:18 +04:00
|
|
|
==
|
2015-03-18 19:40:40 +03:00
|
|
|
?: ?=(%pro -.bit)
|
|
|
|
(done(see p.bit) %blit [[%lin p.bit] [%hop pos] ~])
|
|
|
|
?: ?=(%hop -.bit)
|
|
|
|
(done(pos p.bit) %blit [bit ~])
|
2015-04-01 23:56:43 +03:00
|
|
|
?: ?=(%qit -.bit)
|
|
|
|
(dump %logo ~)
|
2015-03-18 19:40:40 +03:00
|
|
|
(done %blit [bit ~])
|
2013-09-29 00:21:18 +04:00
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ init :: initialize
|
2015-05-12 03:31:37 +03:00
|
|
|
~& [%dill-init our]
|
2015-03-18 19:40:40 +03:00
|
|
|
=+ myt=(flop (need tem))
|
|
|
|
=. tem ~
|
2015-04-30 01:48:45 +03:00
|
|
|
=. moz :_(moz [hen %pass / %c %font our %home our %base])
|
2015-05-10 01:55:05 +03:00
|
|
|
=. moz :_(moz [hen %pass ~ %g %conf [[our ram] %load our %base]])
|
|
|
|
=. moz :_(moz [hen %pass ~ %g %deal [our our] ram %peer ~])
|
2015-03-18 19:40:40 +03:00
|
|
|
|- ^+ +>
|
|
|
|
?~ myt +>
|
|
|
|
$(myt t.myt, +> (send i.myt))
|
|
|
|
::
|
|
|
|
++ into :: preinitialize
|
|
|
|
|= gyl=(list gill)
|
|
|
|
%_ +>
|
|
|
|
tem `(turn gyl |=(a=gill [%yow a]))
|
|
|
|
moz
|
|
|
|
:_ moz
|
|
|
|
:* hen
|
2015-04-30 01:48:45 +03:00
|
|
|
%pass
|
|
|
|
/
|
|
|
|
%c
|
|
|
|
[%warp [our our] %base `[%sing %y [%ud 1] /]]
|
2013-09-29 00:21:18 +04:00
|
|
|
==
|
|
|
|
==
|
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ send :: send action
|
|
|
|
|= bet=dill-belt
|
|
|
|
?^ tem
|
|
|
|
+>(tem `[bet u.tem])
|
|
|
|
%_ +>
|
|
|
|
moz
|
|
|
|
:_ moz
|
2015-05-10 01:55:05 +03:00
|
|
|
[hen %pass ~ %g %deal [our our] ram %poke [%dill-belt -:!>(bet) bet]]
|
2013-09-29 00:21:18 +04:00
|
|
|
==
|
2015-03-18 19:40:40 +03:00
|
|
|
::
|
2015-05-08 22:43:11 +03:00
|
|
|
++ pump :: send diff ack
|
2015-03-22 00:00:38 +03:00
|
|
|
%_ .
|
|
|
|
moz
|
2015-05-10 01:55:05 +03:00
|
|
|
:_(moz [hen %pass ~ %g %deal [our our] ram %pump ~])
|
2015-05-06 22:55:47 +03:00
|
|
|
==
|
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ take :: receive
|
2015-05-08 22:43:11 +03:00
|
|
|
|= sih=sign
|
2015-03-18 19:40:40 +03:00
|
|
|
^+ +>
|
|
|
|
?- sih
|
|
|
|
[%a %nice *]
|
|
|
|
:: ~& [%take-nice-ames sih]
|
|
|
|
+>
|
|
|
|
::
|
|
|
|
[%a %init *]
|
|
|
|
+>(moz :_(moz [hen %give +.sih]))
|
2015-04-30 01:48:45 +03:00
|
|
|
::
|
2015-05-08 22:43:11 +03:00
|
|
|
[%c %mere *]
|
2015-04-30 01:48:45 +03:00
|
|
|
?: ?=(%& -.p.sih)
|
|
|
|
+>.$
|
|
|
|
~| %dill-mere-fail
|
|
|
|
~| p.p.p.sih
|
|
|
|
|-
|
|
|
|
?~ q.p.p.sih !!
|
2015-05-10 01:55:05 +03:00
|
|
|
~> %mean.|.(i.q.p.p.sih) :: pull ford fail into stack trace
|
2015-04-30 01:48:45 +03:00
|
|
|
$(q.p.p.sih t.q.p.p.sih)
|
2015-05-08 22:43:11 +03:00
|
|
|
::
|
2015-05-10 01:55:05 +03:00
|
|
|
[%g %onto *]
|
|
|
|
:: ~& [%take-gall-onto +>.sih]
|
2015-05-08 22:43:11 +03:00
|
|
|
?- -.+>.sih
|
|
|
|
%| (crud %onto p.p.+>.sih)
|
|
|
|
%& (done %blit [%lin (tuba "{<p.p.sih>}")]~)
|
|
|
|
==
|
|
|
|
::
|
2015-05-10 01:55:05 +03:00
|
|
|
[%g %unto *]
|
|
|
|
:: ~& [%take-gall-unto +>.sih]
|
2015-05-08 22:43:11 +03:00
|
|
|
?- -.+>.sih
|
|
|
|
%coup ?~(p.p.+>.sih +>.$ (crud %coup u.p.p.+>.sih))
|
|
|
|
%quit !! :: ??
|
|
|
|
%reap ?~(p.p.+>.sih +>.$ (crud %reap u.p.p.+>.sih))
|
|
|
|
%diff pump:(from ((hard dill-blit) q:`vase`+>+>.sih))
|
|
|
|
==
|
2015-03-18 19:40:40 +03:00
|
|
|
::
|
|
|
|
[%c %note *]
|
2015-05-01 03:21:31 +03:00
|
|
|
(from %out (tuba p.sih ' ' ~(ram re q.sih)))
|
2015-03-18 19:40:40 +03:00
|
|
|
::
|
|
|
|
[%c %writ *]
|
|
|
|
init
|
2015-03-19 01:01:47 +03:00
|
|
|
::
|
|
|
|
[%d %blit *]
|
|
|
|
(done +.sih)
|
2015-03-18 19:40:40 +03:00
|
|
|
::
|
|
|
|
[%t %wake *]
|
|
|
|
:: ~& %dill-wake
|
|
|
|
+>
|
|
|
|
==
|
|
|
|
--
|
2014-10-22 06:59:05 +04:00
|
|
|
::
|
2015-03-18 19:40:40 +03:00
|
|
|
++ ax :: make ++as
|
|
|
|
|= [hen=duct kyz=kiss] ::
|
|
|
|
?~ ore.all ~
|
|
|
|
=+ nux=(~(get by dug.all) hen)
|
|
|
|
?^ nux
|
|
|
|
(some ~(. as [~ hen u.ore.all] u.nux))
|
|
|
|
?. ?=(%flow -.kyz) ~
|
|
|
|
%- some
|
|
|
|
%. q.kyz
|
|
|
|
%~ into as
|
|
|
|
:- [~ hen u.ore.all]
|
|
|
|
:* p.kyz
|
|
|
|
[~ ~]
|
|
|
|
80
|
|
|
|
0
|
|
|
|
(tuba "<{(trip p.kyz)}>")
|
2014-10-22 06:59:05 +04:00
|
|
|
==
|
2015-03-18 19:40:40 +03:00
|
|
|
--
|
2014-06-06 02:14:49 +04:00
|
|
|
|% :: poke/peek pattern
|
|
|
|
++ call :: handle request
|
|
|
|
|= $: hen=duct
|
|
|
|
hic=(hypo (hobo kiss))
|
|
|
|
==
|
|
|
|
^- [p=(list move) q=_..^$]
|
|
|
|
=> %= . :: XX temporary
|
|
|
|
q.hic
|
|
|
|
^- kiss
|
|
|
|
?: ?=(%soft -.q.hic)
|
|
|
|
:: ~& [%dill-call-soft (,@tas `*`-.p.q.hic)]
|
|
|
|
((hard kiss) p.q.hic)
|
|
|
|
?: (~(nest ut -:!>(*kiss)) | p.hic) q.hic
|
|
|
|
~& [%dill-call-flub (,@tas `*`-.q.hic)]
|
|
|
|
((hard kiss) q.hic)
|
|
|
|
==
|
2015-03-18 19:40:40 +03:00
|
|
|
?: ?=(%boot -.q.hic)
|
|
|
|
:_(..^$ [hen %pass ~ (note %a p.q.hic)]~)
|
2014-06-06 02:14:49 +04:00
|
|
|
?: ?=(%flog -.q.hic)
|
2015-03-19 01:01:47 +03:00
|
|
|
:: ~& [%dill-flog +.q.hic]
|
2015-04-08 21:27:51 +03:00
|
|
|
?: ?=([%crud %hax-init [%leaf *] ~] p.q.hic)
|
|
|
|
=+ him=(slav %p (crip p.i.q.p.q.hic))
|
|
|
|
:_(..^$ ?~(hey.all ~ [u.hey.all %give %init him]~))
|
2015-03-18 19:40:40 +03:00
|
|
|
:_(..^$ ?~(hey.all ~ [u.hey.all %slip %d p.q.hic]~))
|
|
|
|
=. hey.all ?^(hey.all hey.all `hen)
|
2015-03-19 01:01:47 +03:00
|
|
|
?: ?=(%init -.q.hic)
|
2015-04-08 05:19:31 +03:00
|
|
|
:: ~& [%call-init hen]
|
2015-03-19 01:01:47 +03:00
|
|
|
?: =(ore.all `p.q.hic)
|
2015-04-08 21:27:51 +03:00
|
|
|
[[hen %give q.hic]~ ..^$]
|
2015-03-19 01:01:47 +03:00
|
|
|
=: ore.all `p.q.hic
|
|
|
|
dug.all ~
|
|
|
|
==
|
2015-03-23 07:37:01 +03:00
|
|
|
=+ ^= flo ^- (list (pair ship term))
|
|
|
|
=+ myr=(clan p.q.hic)
|
|
|
|
?: =(%pawn myr)
|
2015-04-06 22:57:23 +03:00
|
|
|
[[p.q.hic %dojo] ~]
|
2015-03-23 07:37:01 +03:00
|
|
|
?: =(%earl myr)
|
|
|
|
=+ fap=(sein p.q.hic)
|
2015-05-08 22:43:11 +03:00
|
|
|
[[fap %dojo] [fap %talk] [fap %helm] ~]
|
|
|
|
[[p.q.hic %dojo] [p.q.hic %talk] [p.q.hic %helm] ~]
|
2015-03-25 21:03:40 +03:00
|
|
|
=^ moz all abet:(need (ax (need hey.all) [%flow %sole flo]))
|
2015-04-08 05:19:31 +03:00
|
|
|
?: |((lth p.q.hic 256) (gte p.q.hic (bex 64))) [moz ..^$] :: XX HORRIBLE
|
|
|
|
[:_(moz [(need hey.all) %give %init p.q.hic]) ..^$]
|
2015-03-18 19:40:40 +03:00
|
|
|
=+ nus=(ax hen q.hic)
|
|
|
|
?~ nus
|
|
|
|
~& [%dill-no-flow q.hic]
|
|
|
|
[~ ..^$]
|
|
|
|
=^ moz all abet:(call:u.nus q.hic)
|
|
|
|
[moz ..^$]
|
2014-05-22 21:39:51 +04:00
|
|
|
::
|
2013-09-29 00:21:18 +04:00
|
|
|
++ doze
|
2013-12-15 09:42:27 +04:00
|
|
|
|= [now=@da hen=duct]
|
2013-09-29 00:21:18 +04:00
|
|
|
^- (unit ,@da)
|
|
|
|
~
|
|
|
|
::
|
2015-03-19 01:01:47 +03:00
|
|
|
++ load :: trivial
|
2015-05-08 22:43:11 +03:00
|
|
|
|= old=axle
|
2015-03-19 01:01:47 +03:00
|
|
|
..^$(all old)
|
|
|
|
:: |= old=* :: diable
|
|
|
|
:: ..^$(ore.all `~zod)
|
2013-09-29 00:21:18 +04:00
|
|
|
::
|
|
|
|
++ scry
|
2014-05-27 00:43:40 +04:00
|
|
|
|= [fur=(unit (set monk)) ren=@tas his=ship syd=desk lot=coin tyl=path]
|
2015-02-27 09:35:41 +03:00
|
|
|
^- (unit (unit cage))
|
2015-03-18 19:40:40 +03:00
|
|
|
[~ ~]
|
|
|
|
::
|
|
|
|
++ stay all
|
2013-09-29 00:21:18 +04:00
|
|
|
::
|
2014-06-06 02:14:49 +04:00
|
|
|
++ take :: process move
|
2014-06-22 09:49:10 +04:00
|
|
|
|= [tea=wire hen=duct hin=(hypo sign)]
|
2014-06-06 02:14:49 +04:00
|
|
|
^- [p=(list move) q=_..^$]
|
2015-03-18 19:40:40 +03:00
|
|
|
?: =(~ ore.all)
|
|
|
|
?: ?=([%a %init *] q.hin)
|
2015-04-08 05:19:31 +03:00
|
|
|
:: ~& [%take-init hen]
|
2015-03-19 01:01:47 +03:00
|
|
|
=. hey.all ?^(hey.all hey.all `hen)
|
2015-03-18 19:40:40 +03:00
|
|
|
[[[hen %give +.q.hin] ~] ..^$]
|
2015-04-08 05:19:31 +03:00
|
|
|
:: [~ ..^$]
|
2015-03-18 19:40:40 +03:00
|
|
|
~& [%take-back q.hin]
|
|
|
|
[~ ..^$]
|
|
|
|
?. (~(has by dug.all) hen)
|
|
|
|
~& [%take-weird-sign q.hin]
|
|
|
|
~& [%take-weird-hen hen]
|
|
|
|
[~ ..^$]
|
|
|
|
=+ our=?>(?=(^ ore.all) u.ore.all)
|
|
|
|
=^ moz all
|
2015-05-08 22:43:11 +03:00
|
|
|
abet:(~(take as [~ hen our] (~(got by dug.all) hen)) q.hin)
|
2015-03-18 19:40:40 +03:00
|
|
|
[moz ..^$]
|
2013-09-29 00:21:18 +04:00
|
|
|
--
|
2015-05-08 22:43:11 +03:00
|
|
|
|
|
|
|
:: good test
|