1# 2q: molds and mold builders
6A single character. odor `@tD` designates a single unicode byte. All
7parsers consume `++tape`s, which are lists of `++char`.
13 ++ char @tD :: UTF-8 byte
30One of Hoon's two string types (the other being `++tape`). A cord is an
31atom of UTF-8 text. `++trip` and `++crip` convert between cord and
37 ++ cord @t :: text atom (UTF-8)
42Odor `@t` designates a Unicode atom, little-endian: the first character
43in the text is the low byte.
50 > (cord 499.984.265.845)
60A boolean designating AD or BC, a year atom, a month
61atom, and a `++tarp`, which is a day atom and a time.
66 ++ date {{a/? y/@ud} m/@ud t/tarp} :: parsed date
72See also: `++year`, `++yore` `++stud`, `++dust`
74 > `date`(yore ~2014.6.6..21.09.15..0a16)
75 [[a=%.y y=2.014] m=6 t=[d=6 h=21 m=9 s=15 f=~[0xa16]]]
81 ++ tang (list tank) :: general error
90Pretty-printing structure.
92A `++tank` is one of three cases: a `%leaf`
93is simply a string; a `%palm` is XX need more information; and a `%rose` is a
94list of `++tank` delimted by the strings in `p`.
100 ++ tank $% {$leaf p/tape} :: printing formats
101 $: $palm :: backstep list
102 p/{p/tape q/tape r/tape s/tape} ::
105 $: $rose :: flat list
106 p/{p/tape q/tape r/tape} :: mid open close
114 > >(bex 20) (bex 19)<
115 [%rose p=[p=" " q="[" r="]"] q=~[[%leaf p="1.048.576"] [%leaf p="524.288"]]]
116 > (wash [0 80] >(bex 20) (bex 19)<) :: at 80 cols
117 <<"[1.048.576 524.288]">>
118 > (wash [0 15] >(bex 20) (bex 19)<) :: at 15 cols (two lines)
119 <<"[ 1.048.576" " 524.288" "]">>
121 > [(bex 150) (bex 151)] :: at 80 cols
122 [ 1.427.247.692.705.959.881.058.285.969.449.495.136.382.746.624
123 2.854.495.385.411.919.762.116.571.938.898.990.272.765.493.248
134One of Hoon's two string types, the other being `++cord`. A tape is a
140 ++ tape (list char) :: like a string
145 > `(list ,char)`"foobar"
147 > `(list ,@)`"foobar"
148 ~[102 111 111 98 97 114]
156The remaining part of a `++date`: day, hour, minute, second and a list
157of `@ux` for precision.
162 ++ tarp {d/@ud h/@ud m/@ud s/@ud f/(list @ux)} :: parsed time
170 ~2014.9.20..00.43.33..b52a
171 > :: the time is always in your context at -<-
173 [d=106.751.991.820.278 h=0 m=43 s=39 f=~[0x54d1]]
176 [d=20 h=0 m=0 s=0 f=~]
185A restricted text atom for Hoon constants. The only characters permitted are
186lowercase ASCII, `-`, and `0-9`, the latter two of which can neither be the first or last
187character. The syntax for `@tas` is the text itself, always preceded by `%`.
188This means a term is always cubical. The empty `@tas` has a special syntax,
195 ++ term @tas :: Hoon ASCII subset
206 [%cube p=271.101.667.197.767.630.546.276 q=[%atom p=%tas]]
213 ++ wain (list cord) :: text lines (no \n)
215A list of lines. A `++wain` is used instead of a single `++cord` with
218See also: `++lore`, `++role`
230A `++wall` is used instead of a single `++tape` with
236 ++ wall (list tape) :: text lines (no \n)
243 > `wall`(wash [0 20] leaf+<(bex 256)>)
245 "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"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list