@@ -185,6 +185,31 @@ just a mark: `/&c&b&/:path:/mark/`
185185Tall-form `/&` takes only two arguments: a mark and a horn. The mark does not
186186need to be enclosed in `/`'s: `/& html /elem/`
187187
188+### `/|` short-circuiting 'or'
189+
190+`/|` takes a series of horns and produces the first one (left-to-right) that
191+succeeds. If none succeed, it produces stack traces from all of its arguments.
192+
193+Example:
194+```
195+/= res /: /%/path/to/file
196+/|
197+ /!elem/
198+ /elem/
199+==
200+::
201+res
202+```
203+tries to parse the file at `/%/path/to/file` as a hoon expression and evaluate
204+it (`/!elem/`), and then if that fails, tries to convert the file to an HTML
205+element directly (`/elem/`). This is used in urbit's `tree` publishing system
206+to enable a user to place either a hoon file or a static file in a directory,
207+and have them both result in webpages, with preference given to treating the
208+file as hoon to be evaluated.
209+
210+Wide-form `/|` encloses its arguments in parentheses, with a single space as a delimiter:
211+`/|(/!elem/ /elem/)`
212+
188213### `/_` unfiltered: run a horn on each file in the current directory
189214
190215`/_` can be used in two ways: filtered and unfiltered.