mirror of
https://github.com/urbit/shrub.git
synced 2024-12-16 23:04:16 +03:00
63 lines
1.3 KiB
Markdown
63 lines
1.3 KiB
Markdown
|
[buclus `$+` %bcls](#bcls)
|
||
|
==========================
|
||
|
|
||
|
Signature
|
||
|
|
||
|
`$+` a tile for a gate which accepts `p` and produces `q`. `$+` is
|
||
|
similar to a function signature. `$+(p q)` is a `%bark` of a `%weed`, or
|
||
|
`$_(|+(p _q))`.
|
||
|
|
||
|
Produces
|
||
|
--------
|
||
|
|
||
|
Tile: `$_(|+(p _q))`
|
||
|
|
||
|
Sample
|
||
|
------
|
||
|
|
||
|
`p` is a [tile]() `q` is a [tile]()
|
||
|
|
||
|
Tall form
|
||
|
---------
|
||
|
|
||
|
$+ p q
|
||
|
|
||
|
Wide form
|
||
|
---------
|
||
|
|
||
|
$+(p q)
|
||
|
|
||
|
Irregular form
|
||
|
--------------
|
||
|
|
||
|
None
|
||
|
|
||
|
Examples
|
||
|
--------
|
||
|
|
||
|
++ sort :: quicksort
|
||
|
~/ %sort
|
||
|
!:
|
||
|
|* [a=(list) b=$+([* *] ?)]
|
||
|
=> .(a ^.(homo a))
|
||
|
|- ^+ a
|
||
|
?~ a ~
|
||
|
%+ weld
|
||
|
$(a (skim t.a |=(c=_i.a (b c i.a))))
|
||
|
^+ t.a
|
||
|
[i.a $(a (skim t.a |=(c=_i.a !(b c i.a))))]
|
||
|
|
||
|
In ++sort, `$+` is a tile for a comparator gate, which takes two nouns
|
||
|
and produces a loobean.
|
||
|
|
||
|
~zod/try=> |=(a=@ (add 2 a))
|
||
|
<1.sgg [a=@ [[@da @ta] [@p @ta] *''] @n <246.qra 41.uuw 374.glo 100.rip 1.ypj %164>]>
|
||
|
~zod/try=> `$+(@ @)`|=(a=@ (add 2 a))
|
||
|
<1|crm [@ [[@da @ta] [@p @ta] *''] @n <246.qra 41.uuw 374.glo 100.rip 1.ypj %164>]>
|
||
|
~zod/try=> +<:|=(a=@ (add 2 a))
|
||
|
a=0
|
||
|
~zod/try=> +<:`$+(@ @)`|=(a=@ (add 2 a))
|
||
|
! -axis.6
|
||
|
! peek-park
|
||
|
! exit
|