On Oct 8, 11:09 pm, "." <[EMAIL PROTECTED]> wrote: > On Tue, 09 Oct 2007 05:15:49 +0000, gnuist006 wrote: > > Again I am depressed to encounter a fundamentally new concept that I > > was all along unheard of. Its not even in paul graham's book where i > > learnt part of Lisp. Its in Marc Feeley's video. > > > Can anyone explain: > > > (1) its origin > > One of the lambda papers, I think. I don't remember which. > > > (2) its syntax and semantics in emacs lisp, common lisp, scheme > > elisp and Common Lisp don't have them (although sbcl and maybe others user > continuations internally). In scheme CALL-WITH-CURRENT-CONTINUATION takes > a function of one argument, which is bound to the current continuation. > Calling the continuation on some value behaves like > CALL-WITH-CURRENT-CONTINUATION returning that value. So > (call/cc (lambda (k) (k 42))) => 42 > You can think of it as turning the whatever would happen after call/cc > was called into a function. The most practical use for continuations in > implementing control structures, though there are some other neat tricks > you can play with them. > > > (3) Is it present in python and java ? > > Certainly not Java, I dunno about Python. I've never seen someone use > them in Python, but the pythonistas seem to want to add everything but a > decent lambda to their language so I wouldn't be surprised if someone had > added a call/cc. Ruby has it. > > > (4) Its implementation in assembly. for example in the manner that > > pointer fundamentally arises from indirect addressing and nothing new. > > So how do you juggle PC to do it. > > You have Lisp in Small Pieces. Read Lisp in Small Pieces. > > > (5) how does it compare to and superior to a function or subroutine > > call. how does it differ. > > You use them like a function call. You can also use them like > setjmp/longjmp in C. You can implement coroutines with them, or > events, or simulate non-determinism or write things like ((call/cc call/cc) > (call/cc call/cc)) and make your head explode, use it like goto's inbred > second cousin or in general whatever perverse things you might like to do > with the flow of control in your program. > > > > > Thanks a lot. > > > (6) any good readable references that explain it lucidly ? > > Lisp in Small Pieces for implementation details, the Scheme Programming > Language for examples.
which lambda paper ? -- http://mail.python.org/mailman/listinfo/python-list