Symbols that streamline communication

A lot of communication (in any natural language) is long and inefficient. Here is a short list of symbols that I think are nice ways of making speech and text more terse.

There are many ideas that can be condenesed into short abbreviations, phrases, special characters, and other forms of speech and text (from here on, symbols) that streamline the transfer of information. Indeed, in many fields (aviation and radio communication comes to mind), complex ideas are regularly packaged into symbols in order to help people get their ideas across faster. In this post, I want to propose some interesting symbols and give each one of them a formal, unambiguous definition.

Some of the following symbols are quite natural for people to use. Others sound very weird or jarring and would sound quite awful if you used them in speech. This list isn’t designed to be a guide for actual communication; rather, it’s a theoretical description of what kinds of symbols we could have if we wanted to maximise efficiency (and more generally, what sounds and looks cool on paper).


==

Origin: Many programming languages

Explanation: Often, when communicating, you want to ask about equality instead of stating equality. Is that weird term your conversation partner just used the same as some other word you already know? Is some location equal to relative directions from some other place?

Quite obviously, equality is quite a lot more general than any concrete example I can give. So far, this is the best formal definition I’ve come up with:

“A == B?” should result in a yes/no response from the conversational partner for any two concepts A and B.

If both concepts A and B result in the same transfer of information between both of you, the response is yes.

Otherwise, the response is no.

What do I mean by “transfer of information”? Here are some examples:

Sidenote: I would find it interesting to approach this by trying to formulate a definition from the mathematical definition of equality (reflexivity, symmetricity, transitivity, substitution), but I felt that this hand-wavy definition was more intuitive. Hit me up if you come up with something better!


&&/||/xor

Origin: Many programming languages

Explanation: In natural languages, there is often confusion when using the term “or”. While it’s usually used as an exclusive-or, it sometimes encodes an inclusive-or, and sometimes its meaning is ambiguous. This leads to people occasionally using the ugly phrase “and/or”.

To remedy this, here are three definitions to update the terms “and” and “or”:

“A && B” requires the recipient of the message to consider both concepts A and B in context

“A || B” requires the recipient of the message to consider at least one (i.e. also has the option to consider both) concepts A and B in context

“A xor B” requires the recipient of the message to consider exactly one (not both) concepts A and B in context.


Inclusive/exclusive “we”

Origin: Chinese and a few other natural languages

Explanation: This is less of a symbol and more of a language feature that I’m annoyed that English and other western languages don’t have. While its meaning is usually deducible from context, the word “we” can mean one of two things when said to another person:

  1. “Me, other people, but not you” (exclusive “we”)
  2. “Me and you, and optionally other people” (inclusive “we”).

This occasionally leads to annoying ambiguity when you don’t know which of these a conversational partner is using. Chinese and some other languages remedy this by including an inclusive (咱们, zámen) and exclusive (我们, wŏmen) options for the pronoun.

On the other hand, this ambiguity in English allows for passive/implied invitation (“We are going to the amusement park” doesn’t specify who this “we” exactly is, and allows the recipient to accept this invitation by treating the pronoun as inclusive or reject by treating the pronoun as exclusive: “Cool, let me get dressed” vs. “Have fun!”).


>>=

Alternatives: bind

Origin: The Haskell programming language

Explanation: This is by far my favourite symbol in all of programming. The “monad bind operator” or >>= in Hakell is used to chain together monad operations. I will not go into the details of monads and the theory behind them, but I hope its usage is understandable from some examples (to the initiated, I am applying the special case of Maybe monads to everyday communication).

Essentially, it combines two questions into one. If the answer to the first question is “No”, then the reader is told to ignore the second question.

Examples:

Original Text Text using >>=
“Do you want to go eat out today? If so, then where do you want to go?” “Do you want to go eat out today >>= where”
“Have you put the chicken in the oven already? If you have, when did you do it?” “Have you put the chicken in the oven >>= when”
“Are you coming to the party tonight? If so, then can you bring some drinks, please?” “Are you coming to the party tonight >>= bring some drinks pls”
“Have you solved problem 2 of the homework? If you have, can you give me a hint?” “Have you solved problem 2 of the homework >>= give me a hint”
“Did you see where I put my keys? If so, where?” “Did you see where I put my keys >>=*

* (If the second question is empty, then elaborate on the first question if the response is affirmative, and just say no otherwise. Any normal person would do this anyway, but it’s a fun little use of the symbol)

Sidenote: I have been made aware that this use of “bind” is equivalent to the short-circuit operator && in e.g. JavaScript. This seems to be true; however, I can’t come up with any more examples of “monadic” things that the bind operator could apply to in everyday conversation. Please contact me if you get some good ideas!


Conclusion

That’s all my thoughts for now. Do you have any other symbols that you think might be useful in communication?

Contact me!