diff --git a/doc/content-for-reference.html b/doc/content-for-reference.html index acc9b9331..245e2a8eb 100644 --- a/doc/content-for-reference.html +++ b/doc/content-for-reference.html @@ -1337,35 +1337,21 @@ by design handles heterogenous data: the running @sum in mlr put '@sum += $x' should not be invalidated for records which have no x. -
  • Absent out-of-stream-variable values are precisely what allow you to write not -mlr put 'begin{@sum = 0}; @sum += $x' -but rather -mlr put '@sum += $x' -— and furthermore make it possible for you to write -mlr put '@sum[$a] += $x' -at all. +
  • Absent out-of-stream-variable values are precisely what allow you to write +mlr put '@sum += $x'. Otherwise you would have to write +mlr put 'begin{@sum = 0}; @sum += $x' — +which is tolerable — but for +mlr put 'begin{...}; @sum[$a][$b] += $x' +you’d have to pre-initialize @sum for all values of $a and $b in your +input data stream, which is intolerable. - - -
  • The penalty for this is that misspelled variables can be hard to find: +
  • The penalty for the absent feature is that misspelled variables can be hard to find: e.g. in mlr put 'begin{@sumx = 10}; ...; update @sumx somehow per-record; ...; end {@something = @sum * 2}' the accumulator is spelt @sumx in the begin-block but @sum in the end-block, where since it is absent, @sum*2 evaluates to 2. - - - -
  • The penalty for this is that misspelled variables can be hard to find: +
  • The penalty for the absent feature is that misspelled variables can be hard to find: e.g. in mlr put 'begin{@sumx = 10}; ...; update @sumx somehow per-record; ...; end {@something = @sum * 2}' the accumulator is spelt @sumx in the begin-block but @sum in the end-block, where since it is absent, @sum*2 evaluates to 2.