Keywords are symbols that are treated specially by the system while parsing user input. Some of them, such as and, consist of alphanumeric characters and look just like ordinary symbols. Others, such as ==>, consist of special characters and are called operators.

- ? Keyword -- see ? Symbol -- view brief documentation of a symbol
- dictionary(Keyword) -- see dictionary -- determine the dictionary to which a symbol belongs

- ! -- factorial
- != -- inequality
- # -- length or access to elements
- #? -- check existence of value in a list, hash table, database, or string
- % -- a binary operator, usually used for remainder and reduction
- %= -- augmented assignment for %
- & -- a binary operator
- &= -- augmented assignment for &
- (*) -- a unary postfix operator, used for indicating a graded object
- * -- a binary operator, usually used for multiplication
- ** -- a binary operator, usually used for tensor product or Cartesian product
- **= -- augmented assignment for **
- *= -- augmented assignment for *
- + -- a unary or binary operator, usually used for addition
- ++ -- a binary operator, usually used for direct sum
- ++= -- augmented assignment for ++
- += -- augmented assignment for +
- , -- the comma, used for separating entries in a list or sequence
- - -- a unary or binary operator, usually used for negation or subtraction
- -= -- augmented assignment for -
- -> -- make a function
- . -- access to elements whose key is a symbol
- .. -- a binary operator, used for sequences of consecutive items
- ..< -- a binary operator, used for sequences of consecutive items, not including the endpoint
- ..<= -- augmented assignment for ..<
- ..= -- augmented assignment for ..
- .? -- check for presence of elements whose key is a symbol
- / -- a binary operator, usually used for division
- // -- a binary operator, usually used for quotient
- //= -- augmented assignment for //
- /= -- augmented assignment for /
- : -- a binary operator, uses include repetition; ideal quotients
- := -- assignment of method or new local variable
- ; -- expression separator
- < -- less than
- <- -- assignment with left side evaluated
- << -- a binary operator (file output, ...)
- <<= -- augmented assignment for <<
- <= -- less than or equal
- <== -- a unary and binary operator
- <=== -- a unary and binary operator
- <==> -- a binary operator
- <==>= -- augmented assignment for <==>
- = -- assignment
- =!= -- strict inequality
- == -- equality
- ===> -- a binary operator
- ===>= -- augmented assignment for ===>
- ==> -- a binary operator
- ==>= -- augmented assignment for ==>
- => -- produce an Option
- > -- greater than
- >= -- greater than or equal
- >> -- a binary operator, uses include bit shifting, or attaching optional inputs to functions
- >>= -- augmented assignment for >>
- ? -- comparison operator
- ?? -- null coalescing operator
- ??= -- augmented assignment for ??
- @ -- a binary operator
- @= -- augmented assignment for @
- @@ -- a binary operator
- @@= -- augmented assignment for @@
- \ -- a binary operator
- \= -- augmented assignment for \
- \\ -- a binary operator
- \\= -- augmented assignment for \\
- ^ -- a binary operator, usually used for powers
- ^! -- a unary postfix operator, used for the upper shriek functor
- ^* -- a unary postfix operator, used for indicating pullback maps
- ^** -- a binary operator, usually used for tensor or Cartesian power
- ^**= -- augmented assignment for ^**
- ^< -- a binary operator, used for truncation
- ^<= -- a binary operator, used for truncation
- ^= -- augmented assignment for ^
- ^> -- a binary operator, used for truncation
- ^>= -- a binary operator, used for truncation
- ^^ -- logical exclusive-or
- ^^= -- augmented assignment for ^^
- ^~ -- a unary postfix operator, used for sheafification
- _ -- a binary operator, used for subscripting and access to elements
- _! -- a unary postfix operator, used for the lower shriek functor
- _* -- a unary postfix operator, used for indicating pushforward maps
- _< -- a binary operator, used for truncation
- _<= -- a binary operator, used for truncation
- _= -- augmented assignment for _
- _> -- a binary operator, used for truncation
- _>= -- a binary operator, used for truncation
- _~ -- a unary postfix operator
- | -- a binary operator, often used for horizontal concatenation
- |- -- a binary operator
- |-= -- augmented assignment for |-
- |= -- augmented assignment for |
- |_ -- a binary operator, used for restriction to a subset
- |_= -- augmented assignment for |_
- || -- a binary operator, often used for vertical concatenation
- ||= -- augmented assignment for ||
- ~ -- a unary postfix operator
- and -- conjunction
- break -- break from a loop
- catch -- catch a thrown exception
- continue -- continue with the next iteration of a loop
- do -- loop control
- elapsedTime -- time a computation including time elapsed
- elapsedTiming -- time a computation using time elapsed
- else -- condition testing
- for -- for loops
- from -- loop control
- global -- get a global symbol
- if -- condition testing
- in -- a keyword used in for-loops
- list -- loop control
- local -- get a local symbol
- new -- new objects and new types
- not -- negation
- of -- a keyword
- or -- disjunction
- return -- return from a function
- shield -- shield evaluation from interrupts
- SPACE -- blank operator; often used for function application, making polynomial rings
- step -- step by single lines in the debugger
- symbol -- get a symbol
- then -- condition testing
- === -- see Thing === Thing -- strict equality
- threadLocal -- create a symbol whose value in one thread is not shared with others
- throw -- throw an exception
- time -- time a computation
- timing -- time a computation
- to -- loop control
- try -- catch an error
- when -- a keyword
- while -- while loops
- xor -- exclusive disjunction