Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2004
DOI: 10.1145/964001.964010
|View full text |Cite
|
Sign up to set email alerts
|

Free theorems in the presence of seq

Abstract: Parametric polymorphism constrains the behavior of pure functional programs in a way that allows the derivation of interesting theorems about them solely from their types, i.e., virtually for free. Unfortunately, the standard parametricity theorem fails for nonstrict languages supporting a polymorphic strict evaluation primitive like Haskell's seq. Contrary to the folklore surrounding seq and parametricity, we show that not even quantifying only over strict and bottom-reflecting relations in the ∀-clause of th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

1
45
0

Year Published

2004
2004
2011
2011

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 35 publications
(46 citation statements)
references
References 17 publications
1
45
0
Order By: Relevance
“…Adding polymorphism would give us an easy way to transform free theorems [Rey83,Wad89] from the set-theoretic side (well, perhaps not settheoretic [Rey84]) to the domain-theoretic one. It should be interesting to compare those results to other work involving free theorems and seq [JV04].…”
Section: Discussion and Future Workmentioning
confidence: 88%
“…Adding polymorphism would give us an easy way to transform free theorems [Rey83,Wad89] from the set-theoretic side (well, perhaps not settheoretic [Rey84]) to the domain-theoretic one. It should be interesting to compare those results to other work involving free theorems and seq [JV04].…”
Section: Discussion and Future Workmentioning
confidence: 88%
“…Another relevant approach is stream fusion [4]. Stream fusion represents recursive functions as stream processors 5 The laws as expressed here are only valid for programs which do not use the seq operator [18]. which can be composed and merged into a single recursive function thus achieving deforestation.…”
Section: Related Workmentioning
confidence: 99%
“…If we wished to use these results to reason about Haskell implementations of gcast, we must extend our model to include more-in particular, general recursion and recursive types (Melliès & Vouillon, 2005;Johann & Voigtländer, 2004;Appel & McAllester, 2001;Ahmed, 2006b;Crary & Harper, 2007a). We believe that the techniques developed here are independent of those for advanced language features.…”
Section: Future Work and Conclusionmentioning
confidence: 99%