From my understanding, the caret character (^) has been used to indicate Ctrl-key combinations since the early UNIX days, if not earlier. Why was this character used to indicate this? Was it simply that the symbol wasn't being used for anything else at the time, or is there an etymological history where that makes sense?

Some things have used alternate notation; for example, Emacs stands out for using C- instead, and many user manuals simply write control- or ctrl-, much as how alt- is still commonplace (a notable exception being Apple's modern use of for Option, and similarly for Command, which of course used to be represented with the Apple logo instead, with both open and filled variants on the earliest Apple computers).

The dictionary definition of caret doesn't make any nod to this usage, and instead only offers:

a wedge-shaped mark made on written or printed matter to indicate the place where something is to be inserted

and while Wikipedia describes the usage as a control character it states nothing about the history of this usage so far as I can find.

  • 8
    doesn't mean alt, it means option. Similarly, / means command.
    – Mark
    May 1 '19 at 2:38
  • 2
    @Mark: But option has become equivalent to alt. Some Apple keyboards label the key with both; and if you plug a non-Apple keyboard into a Mac, the key labelled alt is interpreted as ‘option’. It may not originally have been the same, but it's now very closely linked.
    – gidds
    May 1 '19 at 11:35
  • FYI, Emacs's use of C- comes from the MIT AI Lab, where the Space Cadet Keyboard was popular. It has lots of different modifer keys (Shift, Control, Meta, Super, Hyper) and no one ever came up with punctuation prefixes for them, so they were all notated with abbreviations.
    – Barmar
    May 1 '19 at 19:17
  • 2
    @gidds Maybe, but on Mac, the key has never been officially called Alt. It has always been called Option, and after Windows become popular, Apple started printing "alt" on the key as well since the key is used for similar commands as Alt in Windows. But it's definitely, definitely, definitely, the Option key. Not Alt. Calling it Alt is incorrect. AFAIK Apple has never called it Alt in any marketing or instruction material. (And FWIW they no longer print "alt" on the key.)
    – user91988
    May 1 '19 at 19:37
  • 1
    Nonetheless, you incorrectly associated the wrong glyphs. jdebp.uk./FGA/iso-9995-7-symbols.html
    – JdeBP
    May 2 '19 at 12:29

We use caret because the 1968 version of ASCII replaced the perfectly fine up-arrow (previously used for indicating control characters) with a lousy caret, at the same code value.

I think the up-arrow, letter convention originated with DEC operating systems. The primary need was not documentation, but for echoing something printable (and preferably easily recognizable) when a control character is typed on the keyboard. Bear in mind that the I/O device at this time was something like a teletype.

But I don't think there's anything special about the choice; as far as I known it was a semi-arbitrary decision that stuck.

This 1965 brochure for the PDP-6 Monitor shows the uparrow, C convention for control-C, on page 4:

Image from brochure

  • 6
    Also, Caret notation indicates that the use of ^ was not universal, at least the Acorn used a different notation. May 1 '19 at 1:39
  • 1
    Also, as far as I can tell from looking around, "control-letter" characters pretty much imply ASCII, at least before PC-style keyboards. Other codes, say Baudot, had what in modern write-ups get called "control characters", but I don't think they were at the time. (Note to young people: the world was not originally ASCII, there were many character codes, sometimes even varying between devices on the same system). May 1 '19 at 2:27
  • 1
    @GregHewgill I suppose Acorn used the shaft of the up-arrow, instead of the head.
    – Kaz
    May 1 '19 at 10:45
  • 1
    Left arrow would be a better assignment operator than =, if such a character were common. The composite <- is not suitable due to ambiguity of x<-1 : x becomes 1, or x is less than minus 1? May 3 '19 at 11:51
  • 9
    The main reason for the caret is for internationalization, particularly French and Portuguese. You'd do the caret, backspace, and a letter to get the circumflex. You can't do that with an arrow.
    – user71659
    May 5 '19 at 21:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.