+$axis
Tree address
A Nock axis inside a noun. After the leading 1, in binary, a 1 signfies right and 0 left.
Source
+$ axis @
Examples
> =axis `axis`7> axis7> `@ub`axis0b111> =noun [[4 5] [6 14 15]]> .*(noun [0 axis])[14 15]
+$bean
Boolean
0, &, or %.y are true, and 1, |, and %.n are false.
Note 1 is false and 0 is true. This is sometimes referred to as "loobean".
Source
+$ bean ?
Examples
> *bean%.y
> `bean`&%.y
> `bean`|%.n
+$flag
Boolean
Same as $bean.
Source
+$ flag ?
+$char
Character
A single @t character.
Source
+$ char @t
Examples
> *char''
> `char`'a''a'
+$cord
UTF-8 text
One of Hoon's two string types (the other being tape). A cord is an atom of UTF-8 text.
Source
+$ cord @t
Examples
> *cord''> `@ux`'foobar'0x7261.626f.6f66> `@t`97'a'> `@`'urbit'499.984.265.845> `@t`499.984.265.845'urbit'
Discussion
Aura @t designates a Unicode atom, little-endian: the first character in the text is the least-significant byte.
trip converts from cord to tape, and crip converts from tape to cord.
+$byts
bytes, LSB first
An atom dat with its byte-length specified in wid. This is to handle leading zeros that are typically ignored.
Source
+$ byts [wid=@ud dat=@]
Examples
> *byts[wid=0 dat=0]
> =a `byts`[4 2]> a[wid=4 dat=2]> `@ux`(rev 3 a)0x200.0000
+$date
Parsed date
A boolean designating AD or BC, a year atom, a month atom, and a tarp, which is a day atom and a time.
Source
+$ date [[a=? y=@ud] m=@ud t=tarp]
Examples
> *date[[a=%.y y=0] m=0 t=[d=0 h=0 m=0 s=0 f=~]]> `date`(yore ~2014.6.6..21.09.15..0a16)[[a=%.y y=2.014] m=6 t=[d=6 h=21 m=9 s=15 f=~[0xa16]]]> now~2018.5.25..17.55.15..9ad8
Discussion
+$knot
URL-safe path element text
An atom type that only permits lower-case letters, numbers, and four special characters: hyphen, tilde, underscore and period.
Source
+$ knot @ta
Examples
> *knot~.> `@ta`105~.i
+$noun
Any noun
Source
+$ noun *
Examples
> *noun0
> `noun`'foo'7.303.014
> `noun`"foo"[102 111 111 0]
+$path
Like unix path
A path is a list of $knot.
Source
+$ path (list knot)
Examples
> *path/
> `path`"foo"/f/o/o
> `path`[~.foo ~.bar ~.baz ~]/foo/bar/baz
+$stud
Standard name
Source
+$ stud :: standard name$@ mark=@tas :: auth=urbit$: auth=@tas :: standards authoritytype=path :: standard label== ::
+$tang
Bottom-first error
A list of tanks. It's for printing types and bottom-up printing of stack traces.
Source
+$ tang (list tank)
Examples
> *tang~
> %- %- slog^- tang:~ 'foo'leaf+"bar"[%palm ["|" "(" "!" ")"] leaf+"foo" leaf+"bar" leaf+"baz" ~][%rose [" " "[" "]"] leaf+"foo" leaf+"bar" leaf+"baz" ~]==foobar(!foo|bar|baz)[foo bar baz]~~
+$tank
Formatted print tree
A tank is one of four cases:
- just a
cord. %leafis just atape.%palmis a list oftankdelimited by the strings inp, with back-steps at new lines.%roseis a list oftankdelimited by the strings inpwithout back-steps at new lines.
Source
+$ tank$~ leaf/~$@ cord$% [%leaf p=tape][%palm p=(qual tape tape tape tape) q=(list tank)][%rose p=(trel tape tape tape) q=(list tank)]==
Examples
> *tank[%leaf p=""]
> ~(ram re 'foobar')"foobar"
> ~(ram re leaf+"foo")"foo"
> ~(ram re [%palm ["|" "(" "!" ")"] leaf+"foo" leaf+"bar" leaf+"baz" ~])"(!foo|bar|baz)"
> ~(ram re [%rose [" " "[" "]"] leaf+"foo" leaf+"bar" leaf+"baz" ~])"[foo bar baz]"
+$tape
List of characters
One of Hoon's two string types, the other being +cord. A tape is a list of @tD.
Source
+$ tape (list @tD)
Examples
> *tape""> `tape`"foobar""foobar">`(list @t)`"foobar"<|f o o b a r|>>`(list @tD)`"foobar""foobar"> `(list @)`"foobar"~[102 111 111 98 97 114]
+$tour
UTF-32 clusters
A tour is a list of UTF-32 characters.
Source
+$ tour (list @c)
Examples
> *tour~
> `tour`(tuba "foobar")~[~-f ~-o ~-o ~-b ~-a ~-r]
+$tarp
Parsed time
The time component of a date: day, hour, minute, second and a list of @ux for precision.
Source
+$ tarp [d=@ud h=@ud m=@ud s=@ud f=(list @ux)]
Examples
> *tarp[d=0 h=0 m=0 s=0 f=~]> (yell now)[d=106.751.991.821.625 h=22 m=58 s=10 f=~[0x44ff]]> `tarp`(yell ~2014.6.6..21.09.15..0a16)[d=106.751.991.820.172 h=21 m=9 s=15 f=~[0xa16]]> (yell ~d20)[d=20 h=0 m=0 s=0 f=~]
+$term
Hoon constant
A restricted text atom for Hoon constants. The only characters permitted are lowercase ASCII letters, -, and 0-9, the latter two of which cannot be the first character. The syntax for @tas is the text itself, always preceded by %. The empty @tas has a special syntax, $.
Source
+$ term @tas
Examples
> *term%$> *%term%term> %dead-fish9%dead-fish9> -:!>(%dead-fish9)#t/%dead-fish9> -:!>(`@tas`%dead-fish9)#t/@tas
+$wain
List of strings
A list of cords. A wain is used instead of a single cord with \n.
Source
+$ wain (list cord)
Examples
> *wain<||>> `wain`/som/del/rok<|som del rok|>
+$wall
List of list of characters
A list of tapes. wall is used instead of a single tape with \n.
Source
+$ wall (list tape)
Examples
> *wall<<>>> `wall`(wash [0 20] leaf+<(bex 256)>)<<"\\/115.792.089.237.\\/"" 316.195.423.570."" 985.008.687.907."" 853.269.984.665."" 640.564.039.457."" 584.007.913.129."" 639.936""\\/ \\/">>