A copy of this work was available on the public web and has been preserved in the Wayback Machine. The capture dates from 2019; you can also visit the original URL.
The file type is application/pdf
.
Filters
Using Template Haskell for Abstract Interpretation
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
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
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
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
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#
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#
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
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
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
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
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
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]
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?
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]
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