Browse > Article

Term Rewriting Semantics of Lazy Functional Programming Languages  

Byun, Sug-Woo (경성대학교 컴퓨터정보학부)
Abstract
Most functional programming languages allows programmers to write ambiguous rules, under the strategy that pattern-matching will be performed in a direction of 'from top to bottom' way. While providing programmers with convenience and intuitive understanding of defining default rules, such ambiguous rules may make the semantics of functional languages unclear. More specifically, it may fail to apply the equational reasoning, one of most significant advantage of functional programming, and may cause to obscure finding a formal way of translating functional languages into the ${\lambda}$-calculus; as a result, we only get an ad hoc translation. In this paper, we associate with separability of term rewriting systems, holding purely-declarative property, pattern-matching semantics of lazy functional languages. Separability can serve a formalism for translating lazy functional languages into the ${\lambda}$-calculus.
Keywords
Lazy Functional Languages; Term Rewriting Systems; Pattern Matching; Separability; Lambda Calculus;
Citations & Related Records
연도 인용수 순위
  • Reference
1 변석우, 분리가능 시스템의 지수 추이성과 변환. 정보과학회 논문지: 소프트웨어 및 응용, 제31권 제5호, 659-666쪽, 2004년 5월
2 Simon Thompson, The Craft of Functional Programming, 2nd Edition. Addison-Wesley, 1999
3 S. Byun, J.R. Kennaway, and R. Sleep, Lambda- definable Term Rewriting Systems, Lecture Notes in Computer Science 1023, pp. 106-115, Springer- Verlag, 1996
4 G. Huet and J.-J. Lèvy, Computations in Orthogonal Rewrite Systems I and II. In Lassez and Plotkin, eds., Computational Logic: Essay in Honor of Alan Robinson, MIT Press 1991. (Originally appeared as Technical Report 359, INRIA, 1979.)
5 Richard Kennaway, The Specificity Rule for Lazy Pattern-Matching in Ambiguous Term Rewriting Systems. ESOP '90, Lecture Notes in Computer Science No. 432, Springer-Verlag, 1990
6 A. Laville, Lazy pattern matchingin the ML programming. INRIA report 663, 1987
7 C. Bohm, Alcune proprieta delle forme ${\beta}-{\eta}-normali$ nel ${\lambda}-K-calcolo.$ IAC Pubbl., 696:19, 1968
8 Simon L. Peyton Jones, The Implementation of Functional Programming Languages. Prentice-Hall, 1987
9 G. Berry. Sequentialite de l'evaluation formelle des ${\lambda}-expressions,$ in Proc. 3-e Colloque International sur la Programmation, Paris, 1978
10 J.W. Klop, Term rewriting systems. In Abramsky et al., editors, Handbook of Logic in Computer Science, volume II. Oxford University Press, 1992
11 Y. Toyama, S. Smesters M. van Eekelen, and R. Plasmeijer, The Functional Strategy and Transitive Term Rewriting Systems. In (eds. Sleep, Plasmeijer, and van Eekelen) Term Graph Rewriting, John Wiley and Sons Ltd. 1993
12 H. Barendregt, The Lambda Calculus: Its Syntax and Semantics. North-Holland, 1984