Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Continuation-passing style
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Use in other fields== Outside of [[computer science]], CPS is of more general interest as an alternative to the conventional method of composing simple expressions into complex expressions. For example, within linguistic [[semantics]], [[Chris Barker (linguist)|Chris Barker]] and his collaborators have suggested that specifying the denotations of sentences using CPS might explain certain phenomena in [[natural language]].<ref>{{Cite journal |last1=Barker |first1=Chris |date=2002-09-01 |title=Continuations and the Nature of Quantification |journal=Natural Language Semantics |volume=10 |issue=3 |pages=211–242 |language=en |doi=10.1023/A:1022183511876 |s2cid=118870676 |issn=1572-865X |url=http://www.semanticsarchive.net/Archive/902ad5f7/barker.continuations.pdf}}</ref> In [[mathematics]], the [[Curry–Howard isomorphism]] between computer programs and mathematical proofs relates continuation-passing style translation to a variation of double-negation [[embedding]]s of [[classical logic]] into [[intuitionistic logic|intuitionistic (constructive) logic]]. Unlike the regular [[double-negation translation]], which maps atomic propositions ''p'' to ((''p'' → ⊥) → ⊥), the continuation passing style replaces ⊥ by the type of the final expression. Accordingly, the result is obtained by passing the [[identity function]] as a continuation to the CPS expression, as in the above example. Classical logic itself relates to manipulating the continuation of programs directly, as in Scheme's [[call-with-current-continuation]] control operator, an observation due to Tim Griffin (using the closely related C control operator).<ref>{{cite book |last1=Griffin |first1=Timothy |date=January 1990 |title=Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '90 |chapter=A formulae-as-type notion of control |volume=17 |pages=47–58 |doi=10.1145/96709.96714 |isbn=978-0-89791-343-0 |s2cid=3005134 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)