Pipe (punctuation)

"|" redirects here. For its use in vertical Japanese writing, see Chōonpu.

|
Vertical bar

Punctuation
apostrophe ( ’ ' )
brackets ( [ ], ( ), { }, ⟨ ⟩ )
colon ( : )
comma ( , ، 、 )
dash ( , –, —, ― )
ellipsis ( …, ..., . . . )
exclamation mark ( ! )
full stop / period ( . )
hyphen ( )
hyphen-minus ( - )
question mark ( ? )
quotation marks ( ‘ ’, “ ”, ' ', " " )
semicolon ( ; )
slash / stroke / solidus ( /,  ⁄  )
Word dividers
interpunct ( · )
space ( ) ( ) ( )
General typography
ampersand ( & )
asterisk ( * )
at sign ( @ )
backslash ( \ )
bullet ( )
caret ( ^ )
dagger ( †, ‡ )
degree ( ° )
ditto mark ( )
inverted exclamation mark ( ¡ )
inverted question mark ( ¿ )
number sign / pound / hash ( # )
numero sign ( )
obelus ( ÷ )
ordinal indicator ( º, ª )
percent, per mil ( %, ‰ )
plus and minus ( + − )
basis point ( )
pilcrow ( )
prime ( ′, ″, ‴ )
section sign ( § )
tilde ( ~ )
underscore / understrike ( _ )
vertical bar / broken bar / pipe ( ¦, | )
Intellectual property
copyright symbol ( © )
registered trademark ( ® )
service mark ( )
sound recording copyright ( )
trademark ( )
Currency
currency (generic) ( ¤ )
currency (specific)
( ฿ ¢ $ ƒ £ ¥ )
Uncommon typography
asterism ( )
hedera ( )
index / fist ( )
interrobang ( )
irony punctuation ( )
lozenge ( )
reference mark ( )
tie ( )
Related
diacritical marks
logic symbols
whitespace characters
non-English quotation style ( « », „ ” )
In other scripts
Chinese punctuation
Hebrew punctuation
Japanese punctuation
Korean punctuation

The vertical bar (|) is a character with various uses in mathematics, computing, and typography. It may be called by various other names including the polon, pipe (by the Unix community, referring to the I/O pipeline construct), Sheffer stroke (by computer or mathematical logicians), verti-bar, vbar, stick, vertical line, vertical slash, or bar, glidus, think colon, poley, or divider line.

Usage

Mathematics

The vertical bar is used as a mathematical symbol in

  • absolute value: |x|, read "the absolute value of x".
  • norms: \|(x_1,x_2)\|, read "the norm of x one, x two"; though Unicode also provides a special double vertical line symbol U+2016: x
  • Parallelism in geometry, where AB \parallel CD indicates that the line AB is parallel to the line CD.
  • set-builder notation: \{x|x<2\}, read "the set of x such that x is less than two". Often a colon ':' is used instead of a vertical bar.
  • cardinality: |S|, read "the cardinality of the set S".
  • conditional probability: P(X|Y), read "the probability of X given Y".
  • divisibility: a | b, read "a divides b", though Unicode also provides special ‘divides’ and ‘does not divide’ symbols (U+2223 and U+2224: , )
  • the Sheffer stroke in logic: a|b, read "a nand b".
  • distance: distance p|ab notes the shortest distance between dot p to line ab, so p|ab is perpendicular to line ab.
  • evaluate (subscript notation): f(x)|_{x=4}, read "f of x, evaluated at x equals 4" (see subscripts at )
  • restriction: f|_{A}: A \to F denotes a restriction of function f where it is defined over a domain which is a superset of A.
  • Sometimes a vertical bar following a function, with sub- and super-script limits 'a' and 'b' is used when evaluating definite integrals to mean 'f(x) from a to b', or 'f(b)-f(a)'.

Physics

The vertical bar is used in bra-ket notation in quantum physics. Examples:

  • |\psi\rangle: The quantum mechanical state "\psi".
  • \langle\psi|: The dual state corresponding to the state above.
  • \langle\psi|\rho\rangle: The inner product of states \psi and \rho.

Computing

Pipe

Main article: Pipeline (Unix)

A pipe is an inter-process communication mechanism originating in Unix which allows the output (standard out and, optionally, standard error) of one process to be used as input (standard in) to another. In this way, a series of commands can be "piped" together, giving users the ability to quickly perform complex multi-stage processing from the command line or as part of a Unix shell script ("bash file"). In most Unix shells (command interpreters), this is represented by the vertical bar character. For example:

grep -i 'blair' filename.log | more

where the output from the "egrep" process is piped to the "more" process.

The same "pipe" feature is also found in later versions of DOS and Microsoft Windows.

Disjunction

In many programming languages, the vertical bar is used to designate the logic operation or, either bitwise or or logical or.

Specifically, in C and other languages following C syntax conventions, such as C++, Perl, Java and C#, (a | b) denotes a bitwise or; whereas a double vertical bar (a || b) denotes a (short-circuited) logical or. Since the character was originally not available in all code pages and keyboard layouts, ANSI C can transcribe it in form of the trigraph ??! which, outside string literals, is equivalent to the | character.

In regular expression syntax, the vertical bar again indicates logical or. For example: the Unix command grep -E 'foo|bar' matches lines containing 'foo' or 'bar'.

Concatenation

In PL/I and standard ANSI SQL, the operator "||" denotes string concatenation.

Delimiter

Although not as common as commas or tabs, the vertical bar can be used as a delimiter in a flat file. Examples of a pipe-delimited standard data format are LEDES 1998B and HL7. It is frequently used because vertical bars are typically uncommon in the data itself.

Similarly, the vertical bar may see use as a delimiter for regular expression operations (e.g. in sed). This is useful when the regular expression contains instances of the more common forward slash (/) delimiter; using a vertical bar eliminates the need to escape all instances of the forward slash.

Backus-Naur form

In Backus-Naur form, an expression consists of sequences of symbols and/or sequences separated by '|', indicating a choice, the whole being a possible substitution for the symbol on the left.

 ::= |

Concurrency operator

In calculi of communicating processes (like pi-calculus), the vertical bar is used to indicate that processes execute in parallel.

Modular arithmetic

In APL, it is the modulo function (called residue in APL) when between two operands.

Absolute Value

In APL, it is the absolute value function when before a single operand.

List comprehensions

Main article: List comprehensions

The vertical bar is used for list comprehensions in some functional languages, e.g. Haskell and Erlang. Compare set-builder notation.

Phonetics and orthography

In the Khoisan languages and the International Phonetic Alphabet, the vertical bar is used to write the dental click (ǀ). A double vertical bar is used to write the alveolar lateral click (ǁ). Since these are technically letters, they have their own Unicode code points in the Latin Extended-B range: U+01C0 for the single bar and U+01C1 for the double bar. Longer single and double vertical bars are used to mark prosodic boundaries in the IPA.

Bibles

  • In the Geneva Bible and early printings of the King James Version, the double vertical bar is used to indicate that an alternative translation is to be found in the margin. Whenever it is used, the marginal note begins with the conjunction "Or".
  • In later printings of the King James Version, the double vertical bar may be used to indicate that a comment is to be found in the margin.

Encoding

The vertical bar ("|") is at position 124 (decimal) in the ASCII character set.

Solid vertical bar vs broken bar

The broken bar (¦) in computing was historically an allograph of the vertical bar and was perceived so before a broad implementation of extended ASCII character sets (namely, ISO/IEC 8859 series), which did distinguish both. Since 1990s, it is considered a separate character, not a part of ASCII, and also termed "parted rule" in Unicode documentation. But in the text mode fonts, as well as in other TUI applications on DOS, Windows and Unix-like systems, the glyph used for the vertical bar may look exactly like a broken bar. This is no longer the case on Windows 7.[1]

Due to historical confusion between the two, computer keyboards and displays may not clearly or consistently differentiate them. The typical keyboard layout used in the United Kingdom features separate keys for vertical bar and broken bar; however, typically on Windows PCs the vertical bar key produces a broken-bar symbol. Some keyboard drivers map the broken bar key to the vertical bar, and the vertical bar key, shared with the grave accent (`), generates the broken bar when pressed in combination with AltGr.

The broken bar has hardly any practical application and does not appear to have any clearly identified uses distinct from the vertical bar.[2] In non-computing use — for example in mathematics, physics and general typography — the broken bar is not an acceptable substitute for the vertical bar. Aforementioned usages in computing rely on the abstract character with code point 124 (0x7C) in ASCII (or ASCII compatible code page) and do not depend on visual rendering, which actually may be a broken bar in some environments.

Some variants of the EBCDIC family of code pages such as EBCDIC 500 had distinguished broken bar from a solid vertical bar.

In common character maps

Vertical bar ('|') Broken bar ('¦')
ASCII,
CP437, CP667, CP720, CP737, CP790, CP819, CP852, CP855, CP860, CP861, CP862, CP865, CP866, CP867, CP869, CP872, CP895, CP932, CP991
124 (7Ch) N/A[3]
CP775 124 (7Ch) 167 (A7h)
CP850, CP857, CP858 124 (7Ch) 221 (DDh)
CP863 124 (7Ch) 160 (A0h)
CP864 124 (7Ch) 219 (DBh)
ISO/IEC 8859-1, -7, -8, -9, -13,
CP1250, CP1251, CP1252, CP1253, CP1254, CP1255, CP1256, CP1257, CP1258
124 (7Ch) 166 (A6h)
ISO/IEC 8859-2, -3, -4, -5, -6, -10, -11, -14, -15, -16 124 (7Ch) N/A
Unicode U+007C U+00A6
EBCDIC (CCSID 500 variant) 187 (BBh) 166 (A6h)
Shift-JIS Men-Ku-Ten 1-01-35
HTML | ¦ or ¦

Additional related Unicode characters:

  • Double vertical line (''): U+2016
  • Latin letter dental click (⟨ǀ⟩): U+01C0
  • Latin letter lateral click (⟨ǁ⟩): U+01C1
  • Symbol 'divides' (⟨∣⟩): U+2223
  • Various Box-drawing characters at U+2500 to U+257F

In text processing

In LaTeX, the vertical bar can be used as delimiter in mathematical mode. The sequence \| creates a double vertical line (a | b \| c is set as a | b \| c). This has different spacing from \mid and \parallel, which are relational operators: a \mid b \parallel c is set as a \mid b \parallel c. In LaTeX text mode, the vertical bar produces an em dash (—), or you can use the \textbar command instead.

The vertical bar is also used as special character in other Lightweight markup languages, notably World Heritage Encyclopedia's own Wikitext.

See also

References

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.