[e-lang] Documentation bug for FlexList
david.nospam.hopwood at blueyonder.co.uk
Fri Mar 16 12:12:40 CDT 2007
Kevin Reid wrote:
> On Mar 15, 2007, at 23:43, David Hopwood wrote:
>># void setRun(int start, int bound, EList other)
>># Enabled: Replace from start..!bound in this list with other.
>>? def a := [2, 3, 4].diverge()
>># value: [2, 3, 4].diverge()
>>? a.setRun(0, 0, )
>># value: [1, 2, 3, 4].diverge()
>>1. Why is this called 'setRun'? 'insertRun' would make more sense.
> Note that the name "setRun" is part of the assignment sugar:
> a(b, c) := d
> expands to
> a.setRun(b, c, def ares__1 := d)
> , and a(b, c) is of course a.run(b, c).
How often is this used? I'm not sure I see the justification for
syntactic sugar here. Assuming the expression is not normally relied
on to return d, it only saves 5 characters (8 with the 'insertRun'
name change), and it is not at all obvious that it does an insertion.
Wouldn't "a.insertRun(b, c, d)" be better in every significant way?
> Whatever name change you propose must also fit generically into the
> assignment sugar.
> - Calling this "replacement" in the documentation is consistent with
> replace/5, which is the same operation except with the ability to
> specify a subrange of the source list.
Then that documentation has the same problem. Also, it's not clear why
this method should have a different name, rather than being an overload
> - What would you think of the name "putRun"?
No better than 'setRun'.
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>
More information about the e-lang