urbit/mar/talk/command.hoon

120 lines
3.2 KiB
Plaintext
Raw Normal View History

2014-12-06 04:18:31 +03:00
::
2015-06-05 03:27:01 +03:00
:::: /hoon/talk-command/mar
2014-12-06 04:18:31 +03:00
::
/? 314
/- talk
2014-12-06 04:18:31 +03:00
!:
[talk .]
2014-12-06 04:18:31 +03:00
|_ cod=command
::
++ grab :: convert from
|%
++ noun command :: clam from %noun
++ json
=> [jo ..command]
|= a=json ^- command
=- (need ((of -) a))
=< :~ publish/(ar thot)
review/(ar thot)
design/(ot party/so config/(mu conf) ~)
==
|%
++ op :: parse keys of map
|* [fel=_rule wit=fist]
%+ cu mo
%- ci :_ (om wit)
|= a=(map cord ,_(need *wit))
^- (unit (list ,_[(wonk *fel) (need *wit)]))
(zl (turn (~(tap by a)) (head-rush fel)))
::
2015-10-28 02:43:08 +03:00
++ ke :: callbacks
|* [gar=* sef=_|.(fist)]
|= jon=json
^- (unit ,_gar)
=- ~! gar ~! (need -) -
((sef) jon)
::
2014-12-06 04:18:31 +03:00
++ as :: array as set
:: |*(a=fist (cu sa (ar a))) :: XX types
|* a=fist
%- cu :_ (ar a)
~(gas in *(set ,_(need *a)))
::
++ lake |*(a=_,* $+(json (unit a)))
++ peach
|* a=_[rule rule]
|= tub=nail
^- (like (each ,_(wonk (-.a)) ,_(wonk (+.a))))
%. tub
;~(pose (stag %& -.a) (stag %| +.a))
::
++ head-rush
|* a=_rule
|* [b=cord c=*]
=+ nit=(rush b a)
?~ nit ~
(some [u.nit c])
::
::
++ thot
^- $+(json (unit thought))
%- ot :~
serial/(ci (slat %uv) so)
audience/audi
statement/stam
==
::
2015-01-26 20:44:09 +03:00
++ audi (op parn memb) :: audience
++ auri (op parn (ci (soft presence) so))
++ memb (ot envelope/lope delivery/(ci (soft delivery) so) ~)
++ lope (ot visible/bo sender/(mu (su parn)) ~)
2014-12-06 04:18:31 +03:00
::
2015-01-26 20:44:09 +03:00
++ parn
^- $+(nail (like partner))
2014-12-06 04:18:31 +03:00
%+ peach
;~((glue fas) ;~(pfix sig fed:ag) urs:ab)
2015-01-26 20:44:09 +03:00
%+ sear (soft passport)
2014-12-12 04:09:59 +03:00
;~((glue fas) sym urs:ab) :: XX [a-z0-9_]{1,15}
2014-12-06 04:18:31 +03:00
::
++ speech-or-eval ?(speech [%eval p=@t] [%mor p=(list speech-or-eval)])
2015-06-19 04:47:41 +03:00
++ eval
|= a=(trel ,@da bouquet speech-or-eval) ^- statement
2015-10-28 02:43:08 +03:00
%= a r ^- speech
|-
?: ?=(%mor -.r.a)
[%mor (turn p.r.a |=(b=speech-or-eval ^$(r.a b)))]
2015-10-28 02:43:08 +03:00
?. ?=(%eval -.r.a) r.a
=- [%fat tank/- %exp p.r.a]
=+ pax=[&1:% &2:% (scot %da p.a) |3:%]
p:(mule |.([(sell (slap !>(..zuse) (rain pax p.r.a)))]~))
==
2015-06-19 04:47:41 +03:00
::
2014-12-06 04:18:31 +03:00
++ stam
^- $+(json (unit statement))
2015-06-19 04:47:41 +03:00
%+ cu eval
2015-10-28 02:43:08 +03:00
(ot date/di bouquet/(as (ar so)) speech/spec ~)
::
++ spec
%+ ke *speech-or-eval |.
2015-10-28 02:43:08 +03:00
%- of
2015-01-27 03:25:27 +03:00
:~ lin/(ot say/bo txt/so ~)
2015-06-02 21:36:56 +03:00
url/(su aurf:urlp)
2015-06-19 04:47:41 +03:00
eval/so
2015-10-28 02:43:08 +03:00
mor/(ar spec)
2015-01-06 23:31:36 +03:00
:: exp/(cu |=(a=cord [a ~]) so)
2015-01-06 02:59:57 +03:00
:: inv/(ot ship/(su fed:ag) party/(su urs:ab) ~)
2014-12-06 04:18:31 +03:00
==
::
::
++ conf
^- $+(json (unit config))
%- ot :~
2015-01-26 20:44:09 +03:00
sources/(as (su parn))
caption/so
2014-12-06 04:18:31 +03:00
:- %cordon
2015-01-26 20:44:09 +03:00
(ot posture/(ci (soft posture) so) list/(as (su fed:ag)) ~)
2014-12-06 04:18:31 +03:00
==
--
-- --