On Nov 28, 2012, at 12:25 PM, Waldemar Horwat <[email protected]> wrote:
> On Wed, Nov 28, 2012 at 5:39 AM, Marius Gundersen <[email protected]> wrote: > On Wed, Nov 28, 2012 at 1:20 PM, Andreas Rossberg <[email protected]> wrote: > Second, due to the extremely impure nature of JavaScript, there aren't > many useful pure functions you could even write. For example, your > 'sum' function is not pure, because the implicit conversions required > by + can cause arbitrary side effects. > > Functions passed to the array methods map, reduce, filter, etc would be good > candidates for pure/side-effect-free functions. These functions shouldn't > alter any state; they should only return a new value based on the parameter > they were sent. > > You haven't addressed Andreas's point: Almost any function you write is > nonpure, including your sum example. As a fun exercise, go ahead and write a > pure version of your sum example. > > Waldemar Here you go: function sum(a, b) { var undefined; switch (typeof a) { case "number": case "string": break; default: return +undefined; } switch (typeof b) { case "number": case "string": break; default: return +undefined; } return a + b; } > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

