On 1/3/11 11:01 PM, Guilherme Vieira wrote:
On Tue, Jan 4, 2011 at 2:50 AM, Nick Sabalausky <a...@a.a> wrote:

    "Andrei Alexandrescu" <seewebsiteforem...@erdani.org
    <mailto:seewebsiteforem...@erdani.org>> wrote in message
    news:ifu70u$2dv...@digitalmars.com...
     >I just added a higher-order function memoize to std.functional which I
     >think is pretty cool. See the docs here:
     >
     >
    
http://d-programming-language.org/cutting-edge/phobos/std_functional.html#memoize
     >
     > I'm also thinking of adding that cutting-edge directory as a
    place for
     > storing documentation for commits that are in flux but not officially
     > released yet.
     >
     >
     > Andrei

    Neat! This is a great example of why D kicks so much ass :)


Uh, yes. It looks like the kind of thing I would do, show to others and
hear they say "Meh.. Whatever". I'm really exponentially developing a
liking to the D community, even though I didn't event get to code
anything serious yet.

This simply rocks. Keep it up, Andrei!

--
Atenciosamente / Sincerely,
Guilherme ("n2liquid") Vieira

Glad you folks like it. There's a little story behind this. I first read Dominus' book chapter years ago, around the time I'd decided to write TDPL. Back then I was thinking - it would just be so cool to be able to define generic memoization in D. I tried my hand at an implementation. But D had no tuples, no aliasing for functions, no good variadics, and even if you could find a way to pack parameters, associative arrays had plenty of related issues.

I'd given up on that and forgot most about it, until today. It was nice to reckon that getting it done took about a dozen lines and about as many minutes. We really have come a very long way.

Nevertheless, I found two issues: one, ParameterTypeTuple doesn't work for overloaded functions, and associative arrays don't work for ubyte[4] keys... still a ways to go.


Andrei

Reply via email to