Deterministic Proposal

kdex kdex at
Tue Jun 20 23:03:20 UTC 2017

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:

import { memoize } from "std::decorators";
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <>

More information about the es-discuss mailing list