Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Favorite function

Name: Anonymous 2010-01-10 22:29

printf

Name: Anonymous 2010-01-15 19:00

*native persistent continuations

Name: Anonymous 2010-01-15 19:13

>>80
Technically, it's 90 minutes to explain the compiler ;) Implementing it will take a little longer. Talk available at http://www.iro.umontreal.ca/~boucherd/mslug/meetings/20041020/minutes-en.html

Name: >>82 2010-01-15 19:22

I should mention that if you already understand how to do CPS transformations and closure conversion, you're not going to get much out of it. But he does provide source code for the compiler for the interested.

Name: Anonymous 2010-01-15 20:16

>>83
Just finished reading the presentation. I knew how to do closure conversion, and I understand CPS conversion in general terms, but I never actually implemented it on my own, so it'll be an interesting exercise.

Name: Anonymous 2010-01-16 8:29

>>78
the effect of the code walker is localized
Yes, that's the problem. Continuations are dynamic, so a lexically limited transformation is useless. My biggest problem with CL is that it is riddled with 80% solutions ( http://www.scsh.net/docu/post/sre.html ).

you might as well have to make a choice between [the ways continuations should behave] when defining a language
Most special cases have a right way if you think about it a bit, and if you're not sure you can leave it undefined or make it an error to use continuations in that situation.

UNWIND-PROTECT
Cleaning up a resource after some code has executed indeed breaks down in the presence of continuations, but it is easy to correct by adding a finalizer to the resource and letting the GC do what it does best. See ``More simply addressing the confusion about UNWIND-PROTECT in Scheme'' at http://mumble.net/~campbell/blag.txt . Regrettably this has not yet made it into any Scheme standard.

Dynamic bindings [...] can cause trouble for [...] TCO
A bit, but it's still possible. This does not cause problems with full continuations, only with delimited ones ( http://list.cs.brown.edu/pipermail/plt-scheme/2009-June/033632.html ).

Implementing continuations naively can be quite an overhead on performance
As mentioned, stack copying has almost zero overhead and is quite simple.

one simple way of implementing continuations is recompiling special forms/operators to use CPS
That's not simple at all!

Offtopic: http://www.finalizer.net/

Name: Anonymous 2010-01-16 9:07

Offtopic, but I'm not starting a thread and here will do
http://vintage-digital.com/hefner/misc/lisp-programmers.jpg

Name: Anonymous 2010-01-16 9:17

>>33
this one.

Name: Anonymous 2010-01-16 13:08

force and delay

Name: Anonymous 2010-01-16 13:10

>>88
delay isn't a function

Name: Anonymous 2010-01-16 17:53

lol no one knows what >>68 is referring to.

Name: Anonymous 2010-01-16 18:57

>>88
Don't forget lazy!

Name: >>89 2010-01-16 18:59

>>91
And neither is lazy

Name: Anonymous 2010-01-16 19:05

>>91
Don't tell me you are lazy, 'cause you're hon-toe nee clazy!

Name: Anonymous 2010-01-16 19:46

>>93
Everyone who gets this should be very ashamed with themselves especially if they watched the entire season ;_;

Name: Anonymous 2010-01-16 20:53

>>94
Why should I be ashamed?

Name: GRUNNUR 2010-01-16 21:00

"GRUNNUR"

Name: Anonymous 2010-01-16 21:18

>>94
I haven't watched any episode nor any of the EDs/OPs. Does that make me a good person?

Name: Anonymous 2010-01-16 21:24

erfleytneikvæð

Name: Anonymous 2010-01-17 7:15

>>85
Yes, that's the problem. Continuations are dynamic, so a lexically limited transformation is useless. My biggest problem with CL is that it is riddled with 80% solutions ( http://www.scsh.net/docu/post/sre.html ).
You can always get global continuations if you apply them on the whole code, however this will cost you a bit in terms of what features you can use and when it comes to performance(depending on how well the compiler will deal w/ compiling the CPS'd code).
As mentioned, stack copying has almost zero overhead and is quite simple.
Sadly there is only one implementation that does has stack/heap copying support, but it's probably not that hard to add it to others if there is the need.
My biggest problem with CL is that it is riddled with 80% solutions ( http://www.scsh.net/docu/post/sre.html ).
I think CL itself is fairly well done, but it doesn't have standardized FFI, networking, multi-threading support, however the de-facto standards for them are fairly good (there's even multiple such libraries, and they're quite featureful).
I don't think the 80% solution problem is limited to the Lisp world: I see it all over the open source world. I tend to bump into it when picking some unmaintained library for some task and having to learn its internals to extend it to fit my need, but at the same time, I've had the pleasure of using libraries which did exactly what I wanted, so I can't say it's true for all of the cases.

Name: Anonymous 2010-01-24 4:30

string create_function ( string $args , string $code )

Name: Anonymous 2010-01-24 5:56

>>97
Lazy?  I found out the phrase "something something lazy" was from some anime just a week or two ago.

Name: Anonymous 2010-01-24 6:19

>>101
That animu being K-on!?

Name: Anonymous 2010-01-24 6:24

>>39
Protip: guess why IO a is an opaque type.

Name: Anonymous 2010-11-02 21:57

Name: Anonymous 2010-12-17 1:28

Xarn is a bad boyfriend

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List