Wolfram Language Syntax

The Wolfram Language has a rich syntax carefully designed for consistency and efficient, readable entry of the Wolfram Language's many language, mathematical, and other constructs. In addition to ordinary linear ASCII input, the Wolfram Language also supports full 2D mathematical input.

Basic Syntax

f[x,y] function arguments go in square brackets

Exp, Do, ... built-in symbols have names beginning with capital letters

{} (List)  ▪  "" (String)  ▪  e[[i]] (Part)  ▪  e[[i;;j]] (Span)

Basic Operations

x = val set a value (=. to clear a value)

x == val test equality or represent a symbolic equation (!= for unequal)

lhs := rhs function etc. definition

a -> b, a b rule for transformations, options, etc. (:> for delayed rule)

expr /. rule replace using a rule ("slash dot")

Mathematics & Operators

+  ▪  -  ▪  *  ▪  /  ▪  ^ (Power)  ▪  && (And)  ▪  || (Or)  ▪  ! (Not)  ▪  <> (StringJoin)

a b c spaces stand for multiplication

nn*^ee scientific notation

b^^nnnn number in a base

(Element)  ▪  (Distributed)  ▪  (UndirectedEdge)  ▪  (DirectedEdge)

Patterns

x_ any expression ("x blank")

x__, x___ sequences of arbitrary expressions ("x double blank", ...)

_, __, ___ unnamed patterns

x:p pattern name

p:d pattern default

.. (Repeated)  ▪  | (Alternatives)  ▪  /; (Condition)  ▪  ? (PatternTest)

~~ (StringExpression) concatenation of string patterns

Pure Functions

body&, x|->body, xbody a pure function

#, #2, etc. unnamed arguments in a pure function

#name named part of a pure function argument

Function Combinations

f@*g composition of f with g (f[g[]])

f/*g composition of g with f (g[f[])

Short Forms

f @ expr prefix function application f[expr]

expr // f postfix function application ("slash slash") f[expr]

/@ (Map  "slash at" )  ▪  @@(Apply)  ▪  @@@ (MapApply)  ▪  //= (ApplyTo)  ▪  === (SameQ)

Program Syntax

expr; expr; expr sequence of commands (CompoundExpression)

<< file input a file (>>file, >>>file for outputting to a file)

(* *) comment

ccc`nnn symbol in context ccc

Session Syntax

% most recent output (%n for output on line n)

? x information on symbol