This is documentation for Mathematica 6, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)


gives the value of expr together with all expressions to which Sow has been applied during its evaluation. Expressions sown using Sow[e] or Sow[e, tagi] with different tags are given in different lists.
Reap[expr, patt]
reaps only expressions sown with tags that match patt.
Reap[expr, {patt1, patt2, ...}]
puts expressions associated with each of the patti in a separate list.
Reap[expr, patt, f]
returns {expr, {f[tag1, {e11, e12, ...}], ...}}.
  • Sow and Reap provide a convenient way to accumulate a list of intermediate results in a computation.
  • Reap accumulates expressions in the order in which Sow is applied to them.
  • Expressions sown with a particular tag are collected by the innermost Reap whose pattern matches the tag.
  • Reap[expr] is equivalent to Reap[expr, _].
Evaluate a sequence of expressions, "reaping" ones that have been "sown":
Click for copyable input
Compute a sum, "reaping" i^2 "sown" at each step:
Click for copyable input
New in 5