urbit/base/pub/doc/hoon/runes/bc/bcbr.md
Anton Dyudin 6cbb6b060d Revert "remove docs for demo", "remove odds and ends", "demo network", "DEMO ONLY: root beak as %demo.", "DEMO ONLY: don't show doznec flapping.", "Prinrtf."
This reverts commit 8e1e40d75b3ab15c194b6bf9570f3edc46e2de58.
This reverts commit f073c490f9fd7c5abc033af4857df92229877de7.
This reverts commit f187d2d7e01a54823f3e979af9bbd148b398e7e9.
This reverts commit bc272862a73cfce1b118586ca39d3a377d841f1b.
This reverts commit 30a397513f8890a3406dc7ab91c6e067e3bbfbbb.
This reverts commit 4fc6856fb50d88c20a0f533392ca606641c5f38f.

Conflicts:
	urb/urbit.pill
	urb/zod/base/lib/drum.hoon
2015-06-15 18:10:02 -07:00

977 B

bucbar $| %bcbr

Atom or cell

$| is a tile rune that produces a %reed, a tile whose icon is a fork between two nouns: an atom of tile p and a cell of tile q. $| is similar to $?, but is more strict in that in only contains one atom tile and one cell tile.


### Produces

Tile: [%reed p=tile q=tile]

Sample

p is a tile q is a tile

Tall form

$|  p
    q

Wide form

$|(p q)

Irregular form

None

Examples

~zod/try=> *$|(~ [~ u=@])
~
~zod/try=> :type; *$|(~ [~ u=@])
~
u(@)

++  list  |*  a=_,*                                     ::  null-terminated list
          $|(~ [i=a t=(list a)])                        ::

In ++list, $| specifies that every element in a noun that can be cast to a ++list is either the atom ~ or the cell [i=a t=(list a)].