Filters








15,343 Hits in 4.1 sec

Functional pearl

David Herman
2007 Proceedings of the 2007 ACM SIGPLAN international conference on Functional programming - ICFP '07  
Filinski showed that callcc and a single mutable reference cell are sufficient to express the delimited control operators shift and reset.  ...  We present a variation on Filinski's encoding of delimited continuations that behaves appropriately in the presence of exceptions and give an implementation in Standard ML of New Jersey.  ...  I thank Mitchell Wand for his guidance and Matthias Felleisen and the anonymous reviewers for their thorough and helpful comments.  ... 
doi:10.1145/1291151.1291177 dblp:conf/icfp/Herman07 fatcat:cbztjf3p45ephnvgv4hzadvbe4

Functional pearl

David Herman
2007 SIGPLAN notices  
Filinski showed that callcc and a single mutable reference cell are sufficient to express the delimited control operators shift and reset.  ...  We present a variation on Filinski's encoding of delimited continuations that behaves appropriately in the presence of exceptions and give an implementation in Standard ML of New Jersey.  ...  I thank Mitchell Wand for his guidance and Matthias Felleisen and the anonymous reviewers for their thorough and helpful comments.  ... 
doi:10.1145/1291220.1291177 fatcat:mteys6hub5dx3dlwt53gm42fty

Functional pearl

Conor McBride, James McKinna
2004 Proceedings of the ACM SIGPLAN workshop on Haskell - Haskell '04  
Name choice is safe and straightforward. Our technology combines easily with an approach to syntax manipulation inspired by Huet's 'zippers' [10] .  ...  In this paper, we show how to manipulate syntax with binding using a mixed representation of names for free variables (with respect to the task in hand) and de Bruijn indices [5] for bound variables.  ...  That is, the image of name is always the outer de Bruijn index, hence we implement abstract via a helper function which tracks this value.  ... 
doi:10.1145/1017472.1017477 dblp:conf/haskell/McBrideM04 fatcat:sosmsb7swjanzdfe6t5hhivwvi

FUNCTIONAL PEARL Pickler combinators

ANDREW J. KENNEDY
2004 Journal of functional programming  
The tedium of writing pickling and unpickling functions by hand is relieved using a combinator library similar in spirit to the well-known parser combinators.  ...  Picklers for primitive types are combined to support tupling, alternation, recursion, and structure sharing. Code is presented in Haskell; an alternative implementation in ML is discussed.  ...  Here we have a value with abstract type 'a PU.  ... 
doi:10.1017/s0956796804005209 fatcat:crymzilcsfhfffzmwn4a7bwn3i

FUNCTIONAL PEARL Concurrent distinct choices

SERGIO ANTOY, MICHAEL HANUS
2004 Journal of functional programming  
An injective finite mapping is an abstraction common to many programs. We describe the design of an injective finite mapping and its implementation in Curry, a functional logic language.  ...  We present some motivating problems and we show fragments of programs that solve these problems using our design and implementation. The complete programs are available on-line.  ...  ., (type) variables and function names usually start with lowercase letters and the names of type and data constructors start with an uppercase letter.  ... 
doi:10.1017/s095679680400509x fatcat:rqzanmixsjhqxktw4qwvf5knku

Abstracting definitional interpreters (functional pearl)

David Darais, Nicholas Labich, Phúc C. Nguyen, David Van Horn
2017 Proceedings of the ACM on Programming Languages  
In this functional pearl, we examine the use of definitional interpreters as a basis for abstract interpretation of higher-order programming languages.  ...  Remarkably, we observe that abstract definitional interpreters can inherit the so-called "pushdown control flow" property, wherein function calls and returns are precisely matched in the abstract semantics  ...  We do this for our number base type by introducing a new abstract number, written 'N, which represents the set of all numbers.  ... 
doi:10.1145/3110256 dblp:journals/pacmpl/DaraisLNH17 fatcat:2fvmvq7llvh6ticlcic4jqjf7m

Separation logic for sequential programs (functional pearl)

Arthur Charguéraud
2020 Proceedings of the ACM on Programming Languages (PACMPL)  
This course only assumes basic knowledge of λ-calculus, semantics and logics, and therefore should be accessible to a broad audience.  ...  This formalization is aimed for teaching the ideas of Separation Logic, including its soundness proof and its recent enhancements.  ...  Feng et al. [2006] present the SCAP framework, for reasoning about stack-based control abstractions, including exceptions and setjmp/longjmp operations.  ... 
doi:10.1145/3408998 fatcat:do7vjcwo2rc4pmqpdcnq6leshy

Capturing the future by replaying the past (functional pearl)

James Koppel, Gabriel Scherer, Armando Solar-Lezama
2018 Proceedings of the ACM on Programming Languages  
In this Pearl, we show how to implement delimited continuations in terms of exceptions and state, a construction we call thermometer continuations.  ...  , and discuss why our construction is not prevented by theoretical results that exceptions and state cannot macro-express continuations.  ...  Represent (M : MONAD) : RMONAD = struct structure C = Control(type ans = Universal.u M.m) structure M = M fun reflect m = . . . fun reify t = . . . end; Figure 2 showed how nondeterminism can be implemented  ... 
doi:10.1145/3236771 dblp:journals/pacmpl/KoppelSS18 fatcat:ftrkiuhmbrdq5erugdhcczq45e

Oh Lord, please don't let contracts be misunderstood (functional pearl)

Christos Dimoulas, Max S. New, Robert Bruce Findler, Matthias Felleisen
2016 SIGPLAN notices  
While software engineers appreciate contracts as tools for articulating the interface between components, functional programmers desperately search for their types and meaning, completely forgetting about  ...  Applied to the higher-order kind, this analysis reveals their large and clearly unappreciated software engineering potential.  ...  Acknowledgment The authors gratefully acknowledge the support of several NSF grants: CCF-1421770 and CNS-1524052 (Harvard), CNS-1405756 (Northwestern), and CCF-1518844 (Northeastern).  ... 
doi:10.1145/3022670.2951930 fatcat:loodg2gh5zaz5hqbw7ppz7mdaa

Oh Lord, please don't let contracts be misunderstood (functional pearl)

Christos Dimoulas, Max S. New, Robert Bruce Findler, Matthias Felleisen
2016 Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming - ICFP 2016  
While software engineers appreciate contracts as tools for articulating the interface between components, functional programmers desperately search for their types and meaning, completely forgetting about  ...  Applied to the higher-order kind, this analysis reveals their large and clearly unappreciated software engineering potential.  ...  Acknowledgment The authors gratefully acknowledge the support of several NSF grants: CCF-1421770 and CNS-1524052 (Harvard), CNS-1405756 (Northwestern), and CCF-1518844 (Northeastern).  ... 
doi:10.1145/2951913.2951930 dblp:conf/icfp/DimoulasNFF16 fatcat:kbdkxyupnbdu5njecrulnngnua

Achieving high-performance the functional way: a functional pearl on expressing high-performance optimizations as rewrite strategies

Bastian Hagedorn, Johannes Lenfers, Thomas Kœhler, Xueying Qin, Sergei Gorlatch, Michel Steuwer
2020 Proceedings of the ACM on Programming Languages (PACMPL)  
In this functional pearl, we show how to employ functional programming techniques to solve this challenge with elegance.  ...  The predominantly used imperative languages -like C or OpenCL -force the programmer to intertwine the code describing functionality and optimizations.  ...  ACKNOWLEDGMENTS We thank the entire RISE (rise-lang.org) and ELEVATE (elevate-lang.org) teams for their development efforts.  ... 
doi:10.1145/3408974 fatcat:f72dfpyvpja63nauihpuknf3ue

Finding parallel functional pearls: Automatic parallel recursion scheme detection in Haskell functions via anti-unification

Adam D. Barwell, Christopher Brown, Kevin Hammond
2018 Future generations computer systems  
Higher-order functions enable simple and easily understood abstractions that can be used to implement a variety of common recursion schemes, such as maps and folds over traversable data structures.  ...  Hammond, Finding parallel functional pearls: Automatic parallel recursion scheme detection in Haskell functions via anti-unification, Future Generation Computer Systems (2017), http://dx.  ...  Technology), by EP-SRC grant "Discovery: Pattern Discovery and Program Shaping for Manycore Systems" (EP/P020631/1), and by Scottish Enterprise PS7305CA44.  ... 
doi:10.1016/j.future.2017.07.024 fatcat:4wqcumg2nja7po2sj6e4i5kdtq

Functional pearl: two can keep a secret, if one of them uses Haskell

Alejandro Russo
2015 SIGPLAN notices  
Two distinct technologies have emerged for such purposes: Mandatory Access Control (MAC) and Information-Flow Control (IFC)-the former belonging to operating systems (OS) research, while the latter to  ...  This pearl presents a monadic API which statically protects confidentiality even in the presence of advanced features like exceptions, concurrency, and mutable data structures.  ...  This work was funded by DARPA CRASH under contract #N66001-10-2-4088, and the Swedish research agencies VR and the Barbro Osher Pro Suecia foundation.  ... 
doi:10.1145/2858949.2784756 fatcat:jrh76ruppjaxlacidzxlhslrtm

Functional pearl: two can keep a secret, if one of them uses Haskell

Alejandro Russo
2015 Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming - ICFP 2015  
Two distinct technologies have emerged for such purposes: Mandatory Access Control (MAC) and Information-Flow Control (IFC)-the former belonging to operating systems (OS) research, while the latter to  ...  This pearl presents a monadic API which statically protects confidentiality even in the presence of advanced features like exceptions, concurrency, and mutable data structures.  ...  This work was funded by DARPA CRASH under contract #N66001-10-2-4088, and the Swedish research agencies VR and the Barbro Osher Pro Suecia foundation.  ... 
doi:10.1145/2784731.2784756 dblp:conf/icfp/Russo15 fatcat:p7nqnx2kovezjniygandypsi6q

Functional Prioritization and Hydrogel Regulation Phenomena Created by a Combinatorial Pearl-Associated Two-Protein Biomineralization Model System

Gaurav Jain, Martin Pendola, Yu-Chieh Huang, Jose Juan Colas, Denis Gebauer, Steven Johnson, John Spencer Evans
2017 Biochemistry  
Thus, the pearl-associated PFMG1 and PFMG2 proteins interact and exhibit mineralization functionalities in specific ways, which may be relevant for pearl formation.  ...  .  ABSTRACT In the nacre or aragonitic layer of the oyster pearl there exists a 12-member proteome which regulates both the early stages of nucleation and nano-to-mesoscale assembly of nacre tablets  ...  for 1:1 AP7 : rPFMG1, and our data suggests that there exists a special molecular and functional relationship between the pearl proteomic rPFMG1 and rPFMG2 members.  ... 
doi:10.1021/acs.biochem.7b00313 pmid:28649833 fatcat:gfh6v3eh3rcprmrdt4opmwgj7q
« Previous Showing results 1 — 15 out of 15,343 results