2015 | OriginalPaper | Buchkapitel
Tipp
Weitere Kapitel dieses Buchs durch Wischen aufrufen
Erschienen in:
Programming Languages
In this paper we present a denotational semantics for a lazy functional language. The semantics is intrinsic in the sense that it defines meaning for typing derivations instead of language expressions. We contrast our semantics with the well-known evaluation rules defined by Sestoft [17] and show that these rules preserve types and meaning.
Bitte loggen Sie sich ein, um Zugang zu diesem Inhalt zu erhalten
Sie möchten Zugang zu diesem Inhalt erhalten? Dann informieren Sie sich jetzt über unsere Produkte:
Anzeige
1.
2.
Zurück zum Zitat The Coq Proof Assistant. http://coq.inria.fr/ The Coq Proof Assistant.
http://coq.inria.fr/
3.
Zurück zum Zitat Abramsky, S.: The lazy lambda calculus. In: Turner, D. (ed.) Research Topics in Functional Programming, pp. 65–116. Addison-Wesley, Boston (1990) Abramsky, S.: The lazy lambda calculus. In: Turner, D. (ed.) Research Topics in Functional Programming, pp. 65–116. Addison-Wesley, Boston (1990)
4.
Zurück zum Zitat Abramsky, S., Ong, C.L.: Full abstraction in the lazy lambda calculus. Inf. Comput. 105(2), 159–267 (1993) MathSciNetCrossRefMATH Abramsky, S., Ong, C.L.: Full abstraction in the lazy lambda calculus. Inf. Comput.
105(2), 159–267 (1993)
MathSciNetCrossRefMATH
5.
Zurück zum Zitat Benton, N., Kennedy, A., Varming, C.: Formalizing Domains, Ultrametric Spaces and Semantics of Programming Languages (2010), unpublished Benton, N., Kennedy, A., Varming, C.: Formalizing Domains, Ultrametric Spaces and Semantics of Programming Languages (2010), unpublished
6.
Zurück zum Zitat Breitner, J.: The correctness of Launchbury’s natural semantics for lazy evaluation. Archive of Formal Proofs (2013) Breitner, J.: The correctness of Launchbury’s natural semantics for lazy evaluation. Archive of Formal Proofs (2013)
7.
Zurück zum Zitat Hughes, R.J.M.: Super-combinators: a new implementation method for applicative languages. In: Proceedings of the 1982 ACM Symposium on LISP and Functional Programming, LFP 1982, pp. 1–10. ACM, New York (1982) Hughes, R.J.M.: Super-combinators: a new implementation method for applicative languages. In: Proceedings of the 1982 ACM Symposium on LISP and Functional Programming, LFP 1982, pp. 1–10. ACM, New York (1982)
8.
Zurück zum Zitat Jones, P.L.S.: Implementing lazy functional languages on stock hardware: the spineless tagless G-machine. J. Funct. Program. 2(2), 127–202 (1992) CrossRefMATH Jones, P.L.S.: Implementing lazy functional languages on stock hardware: the spineless tagless G-machine. J. Funct. Program.
2(2), 127–202 (1992)
CrossRefMATH
9.
Zurück zum Zitat Josephs, M.B.: The semantics of lazy functional languages. Theor. Compu. Sci. 68(1), 105–111 (1989) MathSciNetCrossRefMATH Josephs, M.B.: The semantics of lazy functional languages. Theor. Compu. Sci.
68(1), 105–111 (1989)
MathSciNetCrossRefMATH
10.
Zurück zum Zitat Kieburtz, R.B.: The G-machine: a fast, graph-reduction evaluator. In: Jouannaud, J.P. (ed.) FPLCA 1985. LNCS, vol. 201, pp. 400–413. Springer, Heidelberg (1985) CrossRef Kieburtz, R.B.: The G-machine: a fast, graph-reduction evaluator. In: Jouannaud, J.P. (ed.) FPLCA 1985. LNCS, vol. 201, pp. 400–413. Springer, Heidelberg (1985)
CrossRef
11.
Zurück zum Zitat Krivine, J.L.: A call-by-name lambda-calculus machine. High. Order Symbolic Comput. 20(3), 199–207 (2007) MathSciNetCrossRefMATH Krivine, J.L.: A call-by-name lambda-calculus machine. High. Order Symbolic Comput.
20(3), 199–207 (2007)
MathSciNetCrossRefMATH
12.
Zurück zum Zitat Launchbury, J.: A natural semantics for lazy evaluation. In: POPL, pp. 144–154 (1993) Launchbury, J.: A natural semantics for lazy evaluation. In: POPL, pp. 144–154 (1993)
13.
Zurück zum Zitat Nakata, K.: Denotational semantics for lazy initialization of letrec: black holes as exceptions rather than divergence. In: 7th Workshop on Fixed Points in Computer Science (2010) Nakata, K.: Denotational semantics for lazy initialization of letrec: black holes as exceptions rather than divergence. In: 7th Workshop on Fixed Points in Computer Science (2010)
14.
Zurück zum Zitat Reynolds, J.C.: The Coherence of Languages with Intersection Types. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 675–700. Springer, Heidelberg (1991) CrossRef Reynolds, J.C.: The Coherence of Languages with Intersection Types. In: Ito, T., Meyer, A.R. (eds.) TACS 1991. LNCS, vol. 526, pp. 675–700. Springer, Heidelberg (1991)
CrossRef
15.
Zurück zum Zitat Reynolds, J.C.: Theories of Programming Languages. Cambridge University Press, New York (1999) MATH Reynolds, J.C.: Theories of Programming Languages. Cambridge University Press, New York (1999)
MATH
16.
Zurück zum Zitat Reynolds, J.C.: The Meaning of Types - From Intrinsic to Extrinsic Semantics. Technical report RS-00-32, BRICS, December 2000 Reynolds, J.C.: The Meaning of Types - From Intrinsic to Extrinsic Semantics. Technical report RS-00-32, BRICS, December 2000
17.
Zurück zum Zitat Sestoft, P.: Deriving a lazy abstract machine. J. Funct. Program. 7(3), 231–264 (1997) MathSciNetCrossRefMATH Sestoft, P.: Deriving a lazy abstract machine. J. Funct. Program.
7(3), 231–264 (1997)
MathSciNetCrossRefMATH
- Titel
- An Intrinsic Denotational Semantics for a Lazy Functional Language
- DOI
- https://doi.org/10.1007/978-3-319-24012-1_6
- Autor:
-
Leonardo Rodríguez
- Sequenznummer
- 6