Filters








3,284 Hits in 2.6 sec

Using Template Haskell for Abstract Interpretation

Clara Segura, Carmen Torrano
2007 Electronical Notes in Theoretical Computer Science  
In this paper we use Template Haskell to implement an abstract interpretation based strictness analysis and a let-to-case transformation that uses the results of the analysis.  ...  Template Haskell is a recent extension of Haskell, currently implemented in the Glasgow Haskell Compiler, giving support to metaprogramming at compile time.  ...  Implementation using Template Haskell In this section we describe the implementation of the strictness analysis and the corresponding transformation using Template Haskell.  ... 
doi:10.1016/j.entcs.2007.01.012 fatcat:wugjrmlg5zcttahnglsimauomm

The Intel labs Haskell research compiler

Hai Liu, Neal Glew, Leaf Petersen, Todd A. Anderson
2013 Proceedings of the 2013 ACM SIGPLAN symposium on Haskell - Haskell '13  
Haskell's lazy semantics imposes a runtime model which is in general difficult to implement efficiently.  ...  The Glasgow Haskell Compiler (GHC) is a well supported optimizing compiler for the Haskell programming language, along with its own extensions to the language and libraries.  ...  Strictness Analysis The purpose of a strictness analyzer is to annotate variable bindings with strictness information. A function f is strict in its argument if and only if f ⊥ = ⊥.  ... 
doi:10.1145/2503778.2503779 dblp:conf/haskell/LiuGPA13 fatcat:ri6z6z6j4zfv7depadske6rke4

Eager Haskell

Jan-Willem Maessen
2002 Proceedings of the ACM SIGPLAN workshop on Haskell - Haskell '02  
By using a hybrid of eager and lazy evaluation, we preserve the semantics of Haskell and yet permit efficient iteration.  ...  The advantages of the Haskell programming language are rooted in its clean equational semantics.  ...  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

Liquidate your assets: reasoning about resource usage in liquid Haskell

Martin A. T. Handley, Niki Vazou, Graham Hutton
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
of our analysis are precise.  ...  Intrinsic Cost Analysis In the case of intrinsic cost analysis, the resources utilised by a function are declared inside the type signature of the function and are automatically checked by Liquid Haskell  ...  Madrid as part of the program S2018/TCS-4339 (BLOQUESCM), which is co-funded by EIE Funds of the European Union.  ... 
doi:10.1145/3371092 fatcat:uuvnojurevavvbjilyccyutlga

Strictification of circular programs

João Paulo Fernandes, João Saraiva, Daniel Seidel, Janis Voigtländer
2011 Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation - PERM '11  
Can we go the other way, even for programs that are not in the image of his technique? That is the question we pursue in this paper.  ...  for the completely strict Haskell versions.  ...  Where appropriate and interesting, we also comment on the relative efficiency of OCaml vs. Haskell, as observed via wall-clock measurements.  ... 
doi:10.1145/1929501.1929526 dblp:conf/pepm/FernandesSSV11 fatcat:nze6yn7yire6rn4guuxl63vnni

Coordinating functional processes with Haskell#

F. H. Carvalho, R. M. F. Lima, R. D. Lins
2002 Proceedings of the 2002 ACM symposium on Applied computing - SAC '02  
The implementation of some well-known applications in Haskell# is presented, demonstrating its expressiveness, allowing for elegant, simple, and concise specification of any static pattern of parallel,  ...  Haskell~ supports a clean and complete, semantic and syntactic, separation between coordination and computation levels of programming, with several benefits to parallel program engineering.  ...  Process hierarchy allows for independent development of program components, reusing of existing and tested Haskell modules, formal analysis of parallel prograrn~ based on Petri net forrn~|ism, efficient  ... 
doi:10.1145/508791.508865 dblp:conf/sac/CarvalhoLL02 fatcat:wczlfrssanctlix76afgaha7rq

Coordinating functional processes with Haskell#

F. H. Carvalho, R. M. F. Lima, R. D. Lins
2002 Proceedings of the 2002 ACM symposium on Applied computing - SAC '02  
The implementation of some well-known applications in Haskell# is presented, demonstrating its expressiveness, allowing for elegant, simple, and concise specification of any static pattern of parallel,  ...  Haskell~ supports a clean and complete, semantic and syntactic, separation between coordination and computation levels of programming, with several benefits to parallel program engineering.  ...  Process hierarchy allows for independent development of program components, reusing of existing and tested Haskell modules, formal analysis of parallel prograrn~ based on Petri net forrn~|ism, efficient  ... 
doi:10.1145/508848.508865 fatcat:rkynemp2f5ed7gmgzurug5u7za

Autobahn: using genetic algorithms to infer strictness annotations

Yisu Remy Wang, Diogenes Nunez, Kathleen Fisher
2016 SIGPLAN notices  
As a result, Haskell also provides a variety of strictness annotations so that users can indicate program points where an expression should be evaluated eagerly.  ...  Skillful use of those annotations is a black art, known only to expert Haskell programmers.  ...  We thank John Launchbury for insights into strictness analysis and the fact example in Section 4.  ... 
doi:10.1145/3241625.2976009 fatcat:molxpvirinb6vby5esvn6sqd7e

Tools and libraries to model and manipulate circular programs

João Paulo Fernandes, João Saraiva
2007 Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation - PEPM '07  
The first benchmarks of the different implementations are presented and show that for algorithms relying on a large number of traversals the resulting strict, deforested programs are more efficient than  ...  We have expressed these transformations as an Haskell library and two tools have been constructed: the HaCirc tool that refactors Haskell lazy circular programs into strict ones, and the OCirc tool that  ...  The results show that for algorithms relying on large number of traversals the strict, deforested programs are more efficient than the lazy ones, both in terms of runtime and memory consumption.  ... 
doi:10.1145/1244381.1244399 dblp:conf/pepm/FernandesS07 fatcat:oox7hn2k2baltamsbap3f67ajq

Haskell in Green Land: Analyzing the Energy Behavior of a Purely Functional Language

Luis Gabriel Lima, Francisco Soares-Neto, Paulo Lieuthier, Fernando Castor, Gilberto Melfe, Joao Paulo Fernandes
2016 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)  
We have conducted two empirical studies to analyze the energy efficiency of Haskell programs from two different perspectives: strictness and concurrency.  ...  In this paper, we attempt to shed light on the energy behavior of programs written in a lazy purely functional language, Haskell.  ...  We analyze the energy efficiency of Haskell programs from two different perspectives: strictness and concurrency.  ... 
doi:10.1109/saner.2016.85 dblp:conf/wcre/LimaSLCMF16 fatcat:t2ov3obqzbbotgju2ifjlxc3ue

Plausible Description Logic Programs for Stream Reasoning

Adrian Groza, Ioan Alfred Letia
2012 Future Internet  
The advantages of lazy evaluation on data streams were investigated in this study, with the help of a prototype developed in Haskell.  ...  Stream reasoning is defined as real time logical reasoning on large, noisy, heterogeneous data streams, aiming to support the decision process of large numbers of concurrent querying agents.  ...  The work has been co-funded by the Sectoral Operational Programme Human Resources Development 2007-2013 of the Romanian Ministry of Labour, Family and Social Protection through the Financial Agreement  ... 
doi:10.3390/fi4040865 fatcat:bsw4xpw6tjflrbrfpye26sgit4

Types are calling conventions

Maximilian C. Bolingbroke, Simon L. Peyton Jones
2009 Proceedings of the 2nd ACM SIGPLAN symposium on Haskell - Haskell '09  
It is common for compilers to derive the calling convention of a function from its type.  ...  We restore the lost opportunities by defining Strict Core, a new intermediate language whose type system makes the missing distinctions: laziness is explicit, and functions take multiple arguments and  ...  We would like to thank Paul Blain Levy for the thought provoking talks and discussions he gave while visiting the University of Cambridge which inspired this work.  ... 
doi:10.1145/1596638.1596640 dblp:conf/haskell/BolingbrokeJ09 fatcat:4elibwuzffaxvdidfpmsxvzltm

Haskell Is Not Not ML [chapter]

Ben Rudiak-Gould, Alan Mycroft, Simon Peyton Jones
2006 Lecture Notes in Computer Science  
We present a typed calculus IL ("intermediate language") which supports the embedding of ML-like (strict, eager) and Haskell-like (non-strict, lazy) languages, without favoring either.  ...  of languages in the ML and Haskell families.  ...  machine, AM, which can execute IL (and, via translation, strict and non-strict source languages) with an efficiency comparable to existing ML and Haskell implementations modulo known optimization techniques  ... 
doi:10.1007/11693024_4 fatcat:3hdthu42hva3vlhhb4bih5knp4

Is functional programming better for modularity?

Ismael Figueroa, Romain Robbes
2015 Proceedings of the 6th Workshop on Evaluation and Usability of Programming Languages and Tools - PLATEAU 2015  
on the GHC Haskell compiler, suggesting the existence of modularity issues in it.  ...  To the best of our knowledge there are no (large-scale) empirical evaluations of this characteristic.  ...  Analysis of software evolution.  ... 
doi:10.1145/2846680.2846689 dblp:conf/oopsla/FigueroaR15 fatcat:v4tskbnqpfcvthexcrg7qhc5yq

On strictness and totality [chapter]

Mario Coppo, Ferruccio Damiani, Paola Giannini
1997 Lecture Notes in Computer Science  
This result is interesting from both a theoretical (understanding of the relations between strictness and totality) and a practical (more efficient checking and inference algorithms) point of view.  ...  In this paper we present a revised and extended version of the strictness and totality type assignment system introduced by Solberg, Nielson and Nielson in the Static Analysis Symposium '9~.  ...  Such analysis can be incorporated in the compiling process, and is used on one side to check the consistency of programs and on the other to improve the efficiency of the code produced.  ... 
doi:10.1007/bfb0014550 fatcat:opmnuzbdrbdwvfw2wyjy3dry3a
« Previous Showing results 1 — 15 out of 3,284 results