mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-10 10:05:09 +03:00
arvo: introduces $crag
Also strips out `$` from khan top-level comment. There are arguments for keeping $crag in lull, and on the other side for moving $cast to arvo. This seemed like the most reasonable approach.
This commit is contained in:
parent
6d275fe9f3
commit
6aa72069e3
@ -13,6 +13,7 @@
|
||||
:: $case: global version
|
||||
:: $cage: marked vase
|
||||
:: +cask: marked data builder
|
||||
:: $crag: raw marked noun
|
||||
:: $desk: local workspace
|
||||
:: $dock: message target
|
||||
:: $gang: infinite set of peers
|
||||
@ -44,6 +45,7 @@
|
||||
==
|
||||
+$ cage (cask vase)
|
||||
++ cask |$ [a] (pair mark a)
|
||||
+$ crag (cask *)
|
||||
+$ desk @tas
|
||||
+$ dock (pair @p term)
|
||||
+$ gang (unit (set ship))
|
||||
|
@ -2099,7 +2099,7 @@
|
||||
|%
|
||||
+$ gift :: out result <-$
|
||||
$% [%arow p=(avow vase)] :: in-arvo result
|
||||
[%avow p=(avow (cask))] :: external result
|
||||
[%avow p=(avow crag)] :: external result
|
||||
== ::
|
||||
+$ task :: in request ->$
|
||||
$~ [%vega ~] ::
|
||||
@ -2113,8 +2113,8 @@
|
||||
:: ::
|
||||
++ avow |$ [a] (each a goof) :: $fyrd result
|
||||
+$ bear $@(desk beak) :: partial $beak
|
||||
+$ cast (pair mark (cask)) :: marked input/output
|
||||
++ fyrd |$ [a] [=bear name=term args=a] :: external thread
|
||||
+$ cast (pair mark crag) :: mark-converted input
|
||||
++ fyrd |$ [a] [=bear name=term args=a] :: thread run request
|
||||
-- ::khan
|
||||
::
|
||||
+$ gift-arvo :: out result <-$
|
||||
|
@ -8,16 +8,16 @@
|
||||
:: both modes take a thread start request consisting of a
|
||||
:: namespace, thread name, and input data; they respond over the
|
||||
:: same duct with either success or failure. %fard takes its
|
||||
:: input arguments as a $vase and produces %arow, which contains
|
||||
:: a $vase on success (or $tang on failure). %fyrd takes an
|
||||
:: output mark and input `(cask)` (short for `(cask *)`); it
|
||||
:: produces %avow, which contains a `(cask)` on success.
|
||||
:: input arguments as a vase and produces %arow, which contains
|
||||
:: a vase on success (or tang on failure). %fyrd takes an output
|
||||
:: mark and input crag; it produces %avow, which contains a crag
|
||||
:: on success.
|
||||
::
|
||||
:: %fard passes its arguments and produces its result
|
||||
:: unmodified. %fyrd does mark conversion on both ends, and
|
||||
:: additionally lifts its input into a $unit. this second step
|
||||
:: is done because threads conventionally take their input as a
|
||||
:: $unit, with ~ for the case of "no arguments".
|
||||
:: unit, with ~ for the case of "no arguments".
|
||||
::
|
||||
:: n.b. the current convention for threads is to use !< to
|
||||
:: unpack their input into a well-defined type. !< imposes the
|
||||
|
@ -16,7 +16,7 @@
|
||||
call-args=[duct=~[/initial-born-duct] ~ [%born ~]]
|
||||
==
|
||||
=/ results-0 (expect-eq !>(~) !>(born-moves))
|
||||
=/ fyrd=(fyrd:khan cast:khan) [%base %nonexistent %noun %noun ~]
|
||||
=/ fyrd=(fyrd:khan crag) [%base %nonexistent %noun %noun ~]
|
||||
=/ now=@da (add ~1111.1.1 ~s1)
|
||||
=^ start-moves khan-gate
|
||||
%- khan-call :*
|
||||
|
Loading…
Reference in New Issue
Block a user