archives

How to remove a dynamic prompt: static and dynamic delimited continuation operators are equally expressible

The report (by Oleg Kiselyov) shows that shift, control, shift0, etc. delimited continuation operators are macro-expressible in terms of each other. The report thus confirms the result first established by Chung-chieh Shan in Shift to Control. The operators shift, control, control0, shift0 are the members of a single parameterized family, and the standard CPS is sufficient to express their denotational semantics.

The report uses a more uniform method and it formally proves that 'control' implemented via 'shift' indeed has its standard reduction semantics. It is common knowledge that first-class continuations are quite tricky -- and delimited continuations are trickier still. Therefore, a formal proof is a necessity.

On the practical side, the report shows the simplest known Scheme implementations of control, shift0 and control0 (similar to `cupto'). The method in the report lets us design 700 more delimited control operators, which compose stack fragments in arbitrary ways.

I love this sort of thing, and since section 4 includes Scheme code, you can try to skip the theory if you find it intimidating.

I know this stuff can look a bit hairy. If there's interest, I hope Oleg would agree to help people new to this sort of material in understanding sections 2 and 3. But you have to ask nicely...

programmatic nature of subatomic make up

ok, so i can't say i have much depth of undestanding of subatomic makeup. however, the more i learn about programming and design, the more i see it mimicking what nature has been doing for aeons. well designed code anyway. this leads me to reason that not only should biology be an analogue for programming, but it is likely that the physical world itself has characteristics that we are now convergently using in our code.

take a 3D virtual reality world... if it were possible (ie., no limit on processing power or distributed processing) then the best way to code that world would be to build the world from atoms, putting all the info needed for phyiscal behaviour etc, into each one of those atoms. OOPing at the lowest level. at least, that's how i would see the 'best' way to build that world.

we have seen that our newly developed methods of programming are mimicking what biology has achieved and found to be a 'good' general design strategy... so IMO it stands to reason that physics has done the same thing. that each atom has the physical constants and equations 'hardwired' into their subatomic makeup. from there it comes down to interaction between these particles and the cumulative result of that distributed processing....

any thoughts?