sym:obj or Pattern[sym,obj]

represents the pattern object obj, assigned the name sym.


  • The name sym must be a symbol.
  • The object obj can be any pattern object.
  • When a transformation rule is used, any occurrence of s on the righthand side is replaced by whatever expression it matched on the lefthand side.
  • The operator : has a comparatively low precedence. The expression x:_+_ is thus interpreted as x:(_+_), not (x:_)+_.
  • The form s_ is equivalent to s:_. Similarly, s_h is equivalent to s:_h, s__ to s:__, and so on.


Basic Examples  (1)

Give a name to lists of integers:

Introduced in 1988