Filters








154,997 Hits in 6.4 sec

Backpropagation with Callbacks: Foundations for Efficient and Expressive Differentiable Programming

Fei Wang, James M. Decker, Xilun Wu, Grégory M. Essertel, Tiark Rompf
2018 Neural Information Processing Systems  
A key realization is that this technique of chaining callbacks is well known in the programming languages community as continuation-passing style (CPS).  ...  In this paper we propose an implementation of backpropagation using functions with callbacks, where the forward pass is executed as a sequence of function calls, and the backward pass as a corresponding  ...  Acknowledgments This work was supported in part by NSF awards 1553471 and 1564207, DOE award DE-SC0018050, and a Google Faculty Research Award.  ... 
dblp:conf/nips/WangDWER18 fatcat:x7noir6bvre2xfnjg5qgalepxe

Metacomputation-Based Compiler Architecture [chapter]

William L. Harrison, Samuel N. Kamin
2000 Lecture Notes in Computer Science  
This style uses two monads to factor the static and dynamic parts of the speci cation, thereby staging the speci cation and achieving strong binding-time separation.  ...  Because metacomputations are de ned i n t e r m s of monads, they can be c onstructed m o dularly and extensibly using monad transformers.  ...  Acknowledgements The authors would like to thank Uday Reddy and the rest of the functional programming research group at UIUC for o ering many helpful suggestions that led to signi cant improvements in  ... 
doi:10.1007/10722010_14 fatcat:4e6edlixizbsphwfyss3mrg6uq

Back to direct style [chapter]

Olivier Danvy
1992 Lecture Notes in Computer Science  
This paper describes the transformation of I-terms from continuation-passing style (CPS) to direct style.  ...  In addition, the two transformations-to continuation-passing style and to direct style-are factored using a language where all intermediate values are named and their computation is sequentialized.  ...  The diagram of Section 2 was drawn with Kristoffer Rose's XY-pit package.  ... 
doi:10.1007/3-540-55253-7_8 fatcat:zu4p6jieovde7ggmdpunyeoxxe

Back to direct style

Olivier Danvy
1994 Science of Computer Programming  
This paper describes the transformation of I-terms from continuation-passing style (CPS) to direct style.  ...  In addition, the two transformations-to continuation-passing style and to direct style-are factored using a language where all intermediate values are named and their computation is sequentialized.  ...  The diagram of Section 2 was drawn with Kristoffer Rose's XY-pit package.  ... 
doi:10.1016/0167-6423(94)00003-4 fatcat:gbui3kno4fbrlnbud77vlbypcu

Actor Continuation Passing: Efficient and Extensible Request Routing for Event-Driven Architectures [article]

Stefan Plantikow
2011 arXiv   pre-print
This complicates changing and understanding the flow of events in the system.  ...  Evaluation results indicate that request handling with actor continuations performs about equally or better compared to using separate stages for request handling logic for scripts of at least 3 sequential  ...  Acknowledgments The author thanks Björn Kolbeck who initially described the problem in the context of XtreemFS [2] , a distributed filesystem implemented as a staged architecture.  ... 
arXiv:1109.4240v1 fatcat:3w4jvyniongb7cw4fujrth54je

A Language and Compiler View on Differentiable Programming

Fei Wang, Tiark Rompf
2018 International Conference on Learning Representations  
In this paper we demonstrate that a "best of both worlds" approach is possible, based on multi-stage programming and delimited continuations, two orthogonal ideas firmly rooted in programming languages  ...  Current and emerging deep learning architectures call for an expressive high-level programming style with end-to-end differentiation and for a high-performance implementation at the same time.  ...  Keeping the straight-forward coding fashion of the forward mode, our implementation switches to continuation-passing style (CPS): the overloaded operators take a delimited continuation as parameter -a  ... 
dblp:conf/iclr/WangR18 fatcat:eacmxaer7nejbduvefreh4xkia

Back to Direct Style II: First-Class Continuations

Olivier Danvy, Julia L. Lawall
1996 BRICS Report Series  
<p>The direct-style transformation aims at mapping continuation-passing programs back to direct style, be they originally written in continuation-passing style or the result of the continuation-passing-style  ...  In this paper, we continue to investigate the direct-style transformation by extending it to programs with first-class continuations.  ...  Andrzej Filinski, Karoline Malmkjaer, and the LFP92 reviewers commented on earlier versions of this paper.  ... 
doi:10.7146/brics.v3i20.19982 fatcat:o22ttk3fxrhqtauf53yphn6764

A generic account of continuation-passing styles

John Hatcliff, Olivier Danvy
1994 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '94  
We unify previous work on the continuation-passing style (CPS) transformations in a generic framework based on Moggi's computational met a-language.  ...  This framework is used to obtain GPS transformations for a variety of evalua-  ...  Reasoning about programs in continuation-passing style. In Clinger [4], pages 288-298. [36] Amr Sabry and Matthias Felleisen, Reasoning about programs in continuation-passing style.  ... 
doi:10.1145/174675.178053 dblp:conf/popl/HatcliffD94 fatcat:sodd5y46b5e53by7uv5p5sgpyi

One Step at a Time [chapter]

Ferdinand Vesely, Kathleen Fisher
2019 Lecture Notes in Computer Science  
Many of the steps in the transformation, which include CPS-conversion, defunctionalisation, and various continuation manipulations, mirror those used by Danvy and his co-authors.  ...  We present a fully automated transformation that maps big-step evaluators written in direct style to their small-step counterparts.  ...  This derivation proceeds through a sequence of, mostly basic, transformation steps. First, the big-step evaluation function is converted into continuation-passing style to make control-flow explicit.  ... 
doi:10.1007/978-3-030-17184-1_8 fatcat:veszeaoysfdqpcogexszb5sa4i

AutoGraph: Imperative-style Coding with Graph-based Performance [article]

Dan Moldovan and James M Decker and Fei Wang and Andrew A Johnson and Brian K Lee and Zachary Nado and D Sculley and Tiark Rompf and Alexander B Wiltschko
2019 arXiv   pre-print
We describe how the use of staged programming in Python, via source code transformation, offers a midpoint between these two library design patterns, capturing the benefits of both.  ...  In machine learning, imperative style libraries like Autograd and PyTorch are easy to write, but suffer from high interpretive overhead and are not easily deployable in production or mobile settings.  ...  ACKNOWLEDGEMENTS We would like to thank Alex Passos and the rest of the Ten-sorFlow team for their help and support integrating Auto-Graph into TensorFlow 2.0.  ... 
arXiv:1810.08061v2 fatcat:3ffrkl2itfcvvjyk3lqpngzezi

From Interpreter to Logic Engine by Defunctionalization

Dariusz Biernacki, Olivier Danvy
2004 BRICS Report Series  
The key transformation here is Reynolds's defunctionalization that transforms a tail-recursive, continuation-passing interpreter into a transition system, i.e., an abstract machine.  ...  Starting from a continuation-based interpreter for a simple logic programming language, propositional Prolog with cut, we derive the corresponding logic engine in the form of an abstract machine.  ...  This work is supported by the ESPRIT Working Group APPSEM II (http://www. appsem.org) and by the Danish Natural Science Research Council, Grant no. 21-03-0545.  ... 
doi:10.7146/brics.v11i5.21830 fatcat:qyrqxly2dncbrkwliamws3mesi

From Interpreter to Logic Engine by Defunctionalization [chapter]

Dariusz Biernacki, Olivier Danvy
2004 Lecture Notes in Computer Science  
The key transformation here is Reynolds's defunctionalization that transforms a tail-recursive, continuation-passing interpreter into a transition system, i.e., an abstract machine.  ...  Starting from a continuation-based interpreter for a simple logic programming language, propositional Prolog with cut, we derive the corresponding logic engine in the form of an abstract machine.  ...  This work is supported by the ESPRIT Working Group APPSEM II (http://www.appsem.org) and by the Danish Natural Science Research Council, Grant no. 21-03-0545.  ... 
doi:10.1007/978-3-540-25938-1_13 fatcat:bozadqotlzhghms3ufjadrodoe

From Interpreter to Logic Engine by Defunctionalization

Dariusz Biernacki, Olivier Danvy
2003 BRICS Report Series  
The key transformation here is Reynolds's defunctionalization that transforms a tail-recursive, continuation-passing interpreter into a transition system, i.e., an abstract machine.  ...  Starting from a continuation-based interpreter for a simple logic programming language, propositional Prolog with cut, we derive the corresponding logic engine in the form of an abstract machine.  ...  This work is supported by the ESPRIT Working Group APPSEM II (http://www.appsem.org) and by the Danish Natural Science Research Council, Grant no. 21-03-0545.  ... 
doi:10.7146/brics.v10i25.21954 fatcat:mmeqvg54zjbnjpnb4ou3ahtwqi

Inverse macro in Scala

Hiroshi Yamaguchi, Shigeru Chiba
2015 SIGPLAN notices  
We also show the expressiveness of the inverse macro system by comparing two versions of shift/reset, bundled in Scala 2.11 and implemented with the inverse macro system.  ...  The inverse macro system enables to implement operators with complex side-effects, such as lazy operators and delimited continuation operators, which are beyond the power of existing macro systems.  ...  Then, a function call in the continuation passing style is constructed considering whether it is pure or impure. Finally, the transformation method returns a newly built syntax tree.  ... 
doi:10.1145/2936314.2814213 fatcat:4ciulvjpqrberpgxu2csaxcj6y

Inverse macro in Scala

Hiroshi Yamaguchi, Shigeru Chiba
2015 Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences - GPCE 2015  
We also show the expressiveness of the inverse macro system by comparing two versions of shift/reset, bundled in Scala 2.11 and implemented with the inverse macro system.  ...  The inverse macro system enables to implement operators with complex side-effects, such as lazy operators and delimited continuation operators, which are beyond the power of existing macro systems.  ...  Then, a function call in the continuation passing style is constructed considering whether it is pure or impure. Finally, the transformation method returns a newly built syntax tree.  ... 
doi:10.1145/2814204.2814213 dblp:conf/gpce/YamaguchiC15 fatcat:gafpmognongm5egvkdvm3n46re
« Previous Showing results 1 — 15 out of 154,997 results