February 22, 2006
In article <dtbs79$15en$1@digitaldaemon.com>, nick says...
>Sorry, getting late. I should clarify that a bit. The aim is to release D1.0 sometime in the foreseeable future, so most feature suggestions are being targeted at D2.0.

I understand, can this suggestion be added to the to-do list for D2.0?  I think it would be a valuable addition to the language.

Ian.


February 22, 2006
ian@locut.us wrote:
> Support for continuations in D would make it a prime candidate for anyone
> interested in implementing network-based stuff in an efficient language, especially P2P stuff.

I would have to agree.  I'd been hoping Walter would see the thread on true closures and see the tie-in with continuations.

Good stuff here: http://en.wikipedia.org/wiki/Continuation

I see gracefully handling the "back" button and maintaining appropriate state in web-based applications as a big use of continuations in the future, so I'm hoping Walter can help and/or Pragma can hack something for DSP.  There's a ton of applications for appropriately representing data along a workflow with continuations.

So, the closures / first-class functions discussions interest me very much, and continuations is a prime example of uses for those features in the language.

BA
February 22, 2006
Brad Anderson wrote:
> Good stuff here: http://en.wikipedia.org/wiki/Continuation

and following one of the links from the above page, this was great for C programmers:

http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons

BA
February 22, 2006
In article <dthuue$297c$1@digitaldaemon.com>, Brad Anderson says...
>
>Brad Anderson wrote:
>> Good stuff here: http://en.wikipedia.org/wiki/Continuation
>
>and following one of the links from the above page, this was great for C programmers:
>
>http://www.intertwingly.net/blog/2005/04/13/Continuations-for-Curmudgeons
>
>BA

I'd love to see something like that get off the ground, especially for web-programming.  From what I understand, a true continuation needs to be context-switchable which is to say it can save/restore register and stack info.

Win32 Fibers already provide nuts and bolts for this capability, and I think unix/linux has an analgoue of the same.  So a wrapper using what the OS provides, for something like this, could be hashed up without too much fuss.

It might also be possible to concoct something in D, that uses some ASM to handle saving and restoring the stack state.  You'd almost want this solution as it would invariably involve less kernel time and could lend itself to tighter resource management (key for scalable web apps that could have more than one such continuation per user session).

With all of the above approaches, you still won't have a syntax as elegant as what Python has.  D would need a 'yield' statement and/or something that flags a function/delegate as having its own discrete stack space.

As for hacking it into DSP, it's more a factor of "when we get there" than anything else. :)

- Eric Anderton at yahoo
1 2
Next ›   Last »