Filters








46 Hits in 3.1 sec

Triolet

Christopher Rodrigues, Thomas Jablin, Abdul Dakkak, Wen-Mei Hwu
2014 Proceedings of the 19th ACM SIGPLAN symposium on Principles and practice of parallel programming - PPoPP '14  
We show how Triolet substantially improves the parallel performance of algorithms involving array traversals and nested, variable-size loops over what is achievable in Eden, a distributed variant of Haskell  ...  when used in concert with high-performance array libraries.  ...  Acknowledgments This project was partly supported by the STARnet Center for Future Architecture Research (C-FAR) and the DoE Vancouver Project (DE-FC02-10ER26004/DE-SC0005515).  ... 
doi:10.1145/2555243.2555268 dblp:conf/ppopp/RodriguesJDH14 fatcat:zhwz23c2pbfz3acjzoassqjuju

Eager Haskell

Jan-Willem Maessen
2002 Proceedings of the ACM SIGPLAN workshop on Haskell - Haskell '02  
The advantages of the Haskell programming language are rooted in its clean equational semantics.  ...  The Eager Haskell compiler executes Haskell programs eagerly by default, i.e. , bindings and function arguments are evaluated before bodies.  ...  Finally, Simon Peyton Jones and Robert Ennals have provided valuable feedback on eagerness in Haskell over the past two years.  ... 
doi:10.1145/581690.581694 fatcat:bv6l5hyavvgqpc6nybq4ilata4

Concatenate, reverse and map vanish for free

Janis Voigtländer
2002 SIGPLAN notices  
optimized implementation.  ...  We introduce a new transformation method to eliminate intermediate data structures occurring in functional programs due to repeated list concatenations and other data manipulations (additionally exemplified  ...  is common practice to use a denotational style for reasoning about Haskell programs.  ... 
doi:10.1145/583852.581481 fatcat:4edosbwk5jakjbn6i4sgqlcavq

A Practical Partial Evaluation Scheme for Multi-Paradigm Declarative Languages

Elvira Albert, Michael Hanus, Germán Vidal
2002 Journal of Functional and Logic Programming  
In contrast to previous approaches, we consider an intermediate representation for programs into which source programs can be automatically translated.  ...  An implementation of a partial evaluator for Curry programs has been undertaken.  ...  Acknowledgements We gratefully acknowledge the anonymous referees as well as the participants of FLOPS 2001 for their comments on a preliminary version of this work.  ... 
dblp:journals/jflp/AlbertHV02 fatcat:4jzemyjbaradpjqzukvp35hg5u

Concatenate, reverse and map vanish for free

Janis Voigtländer
2002 Proceedings of the seventh ACM SIGPLAN international conference on Functional programming - ICFP '02  
optimized implementation.  ...  We introduce a new transformation method to eliminate intermediate data structures occurring in functional programs due to repeated list concatenations and other data manipulations (additionally exemplified  ...  is common practice to use a denotational style for reasoning about Haskell programs.  ... 
doi:10.1145/581478.581481 dblp:conf/icfp/Voigtlander02 fatcat:bonrb2eezzgilaq75b3iqh62by

A shortcut fusion rule for circular program calculation

João Paulo Fernandes, Alberto Pardo, João Saraiva
2007 Proceedings of the ACM SIGPLAN workshop on Haskell workshop - Haskell '07  
In this paper, we present a shortcut deforestation technique to calculate circular programs.  ...  Circular programs are a powerful technique to express multiple traversal algorithms as a single traversal function in a lazy setting.  ...  We may, however, argue that, for all cases with practical interest (the ones for which function g produces defined results), our rule directly applies in Haskell.  ... 
doi:10.1145/1291201.1291216 dblp:conf/haskell/FernandesPS07 fatcat:hltr6o3eo5cw3j3zxulmvmp3iu

Modular polymorphic defunctionalization

Georgios Fourtounis, Nikolaos Papaspyrou, Panagiotis Theofilopoulos
2014 Computer Science and Information Systems  
Our technique allows modules in a Haskell-like language to be separately defunctionalized and compiled, then linked together to generate an executable program.  ...  In this paper, we formalize a modular variant of defunctionalization which can support separate compilation for a functional programming language with parametric polymorphism.  ...  Investing in knowledge society through the European Social Fund. Project code: MIS 380153.  ... 
doi:10.2298/csis130923030f fatcat:tquan4zczfedtlyabq2wjzq3ai

Shortcut fusion rules for the derivation of circular and higher-order programs

Alberto Pardo, João Paulo Fernandes, João Saraiva
2011 Higher-Order and Symbolic Computation  
[37] and type systems [10], to implement breadth-first traversal strategies [23, 30] and as an optimization technique in the deforestation of accumulating parameters [40] .  ...  Due to their nice properties, circular programs have been used in varied contexts: in the construction of HASKELL compilers [19, 28] , aspect-oriented compilers [9], to express pretty printing algorithms  ...  Acknowledgements We wish to thank the anonymous reviewers for detailed and insightful comments on earlier versions of this paper.  ... 
doi:10.1007/s10990-011-9076-x fatcat:xdx6lbrtwvcqtpheaxhv4lpq7i

Benchmarking implementations of functional languages with 'Pseudoknot', a float-intensive benchmark

Pieter H. Hartel, Marc Feeley, Martin Alt, Lennart Augustsson, Peter Baumann, Marcel Beemster, Emmanuel Chailloux, Christine H. Flood, Wolfgang Grieskamp, John H. G. Van Groningen, Kevin Hammond, Bogumil Hausman (+15 others)
1996 Journal of functional programming  
Secondly, the compilers vary in the kind and level of optimisations offered, so the effort required to obtain an optimal version of the program is similarly varied.  ...  The principal aspects studied are compile time and execution time for the various implementations that were benchmarked.  ...  Will Partain and Jim Mattson performed many of the experiments reported here for the Glasgow Haskell compiler.  ... 
doi:10.1017/s0956796800001891 fatcat:psvn6vpwrffbxcncnjla7e2j2i

How functional programming mattered

Zhenjiang Hu, John Hughes, Meng Wang
2015 National Science Review  
In 1989 when functional programming was still considered a niche topic, Hughes wrote a visionary paper arguing convincingly "why functional programming matters". More than two decades have passed.  ...  In this paper, we review the impact of functional programming, focusing on how it has changed the way we may construct programs, the way we may verify programs, and fundamentally the way we may think about  ...  reverse (reverse xs) = xs #-} In practice, people make use of this utility for serious optimizations.  ... 
doi:10.1093/nsr/nwv042 fatcat:j4ya3w2nt5e3di5gawsuc53bxy

Freeze after writing

Lindsey Kuper, Aaron Turon, Neelakantan R. Krishnaswami, Ryan R. Newton
2014 Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '14  
We demonstrate the viability of our approach by implementing a library for Haskell supporting a variety of LVarbased data structures, together with a case study that illustrates the programming model and  ...  We extend LVars in two ways. First, we add the ability to "freeze" and then read the contents of an LVar directly.  ...  Finally, there is an optimization benefit to using handlers.  ... 
doi:10.1145/2535838.2535842 dblp:conf/popl/KuperTKN14 fatcat:6shfq4hhlnhr5eqpw5xgkeegky

Freeze after writing

Lindsey Kuper, Aaron Turon, Neelakantan R. Krishnaswami, Ryan R. Newton
2014 SIGPLAN notices  
We demonstrate the viability of our approach by implementing a library for Haskell supporting a variety of LVarbased data structures, together with a case study that illustrates the programming model and  ...  We extend LVars in two ways. First, we add the ability to "freeze" and then read the contents of an LVar directly.  ...  Finally, there is an optimization benefit to using handlers.  ... 
doi:10.1145/2578855.2535842 fatcat:5zq6qcas4nf4vmgu62ng7dplam

Adding Equations to System F Types [chapter]

Neelakantan R. Krishnaswami, Nick Benton
2012 Lecture Notes in Computer Science  
We present an extension of System F with types for termlevel equations.  ...  This internalization of the rich equational theory of the polymorphic lambda calculus yields an expressive core language, suitable for formalizing features such as Haskell's rewriting rules mechanism or  ...  On a practical note, how can equation types be profitably employed in optimizations? Connecting equations to optimizations is an intriguing problem.  ... 
doi:10.1007/978-3-642-28869-2_21 fatcat:omhysn4rzjbb7o5xjbaejappwy

A language for hierarchical data parallel design-space exploration on GPUs

BO JOEL SVENSSON, RYAN R. NEWTON, MARY SHEERAN
2016 Journal of functional programming  
Obsidian is an embedded language (in Haskell) for implementing high performance kernels to be run on GPUs.  ...  We walk through case-studies that demonstrate how to use Obsidian for rapid design exploration or auto-tuning, resulting in performance that compares well to the hand-tuned kernels used in Accelerate and  ...  The implementation of push arrays in Obsidian is targeted at GPUs and restricted compared to Koen's more general idea.  ... 
doi:10.1017/s0956796816000046 fatcat:b24e4ormoveuffszib5mkggozy

Pycket: a tracing JIT for a functional language

Spenser Bauman, Carl Friedrich Bolz, Robert Hirschfeld, Vasily Kirilichev, Tobias Pape, Jeremy G. Siek, Sam Tobin-Hochstadt
2015 Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming - ICFP 2015  
The Pycket implementation is of independent interest as an application of the RPython meta-tracing framework (originally created for PyPy), which automatically generates tracing JIT compilers from interpreters  ...  In the setting of a functional language, where recursion and higher-order functions are more prevalent than explicit loops, the most significant performance challenge for a tracing JIT is identifying which  ...  We thank Anton Gulenko for implementing storage strategies.  ... 
doi:10.1145/2784731.2784740 dblp:conf/icfp/BaumanBHKPST15 fatcat:ohildp27dnfixfhx3peyunqsia
« Previous Showing results 1 — 15 out of 46 results