@kdex I initially thought of decorators but did not know that there were
plans for a standard library that compilers would be "aware of" and would
be able to draw this from. Thanks!

On Tue, Jun 20, 2017 at 4:03 PM kdex <k...@kdex.de> wrote:

> Can already be solved using decorators. Thus, no need for new syntax.
> If we get a standard library to import some common decorators from, one
> could
> easily write:
>
> ```js
> import { memoize } from "std::decorators";
> @memoize
> function sum(a, b) {
>         return a + b;
> }
> ```
>
> On Wednesday, June 21, 2017 12:58:43 AM CEST Guy Ellis wrote:
> > I have an idea rattling around that allowing the developer to mark a
> > function as deterministic would allow the compiler to determine if a
> > speed/memory memoization trade-off will improve performance.
> >
> > Possible syntax:
> >
> > deterministic function sum(a, b) { return a + b; }
> >
> > Use case:
> >
> > I can only think of one right now: compiler memoization
> >
> > Why not a memoization library?
> >
> > I'm not a compiler expert. I've read that today's compilers are doing
> > optimizations at runtime based on call frequency and other metrics that
> > they collect. If a compiler knows that a function is deterministic it
> will
> > be able to use call time metrics against the return value size to
> determine
> > if memoization should be done on specific calls.
> >
> > I think (I could be completely wrong here) that the compiler has access
> to
> > memory metrics that a memoization library would not have access to in
> order
> > to optimize this
> on-the-fly._______________________________________________
> es-discuss mailing list
> es-discuss@mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to