Advertisement

Designing and Implementing Combinator Languages

  • S. Doaitse Swierstra
  • Pablo R. Azero Alcocer
  • João Saraiva
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1608)

Abstract

Ever since the Computer Science community has discovered the concept of a programming language there has been a continuous quest for the ideal, all-encompassing programming language; despite this we have been overwhelmed by an everlasting flow of all kinds of special purpose programming languages. Attempts to bridge this gap between a single language and infinitely many caused research into so-called extensible programming languages.

Keywords

Text Line Semantic Function Semantic Rule Attribute Grammar Abstract Syntax Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Wadler, P.: A prettier printer (March 1998), Available at http://cm.bell-labs.com/cm/cs/who/wadler/topics/recent.html
  2. 2.
    Fokker, J.: Functional parsers. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 1–52. Springer, Heidelberg (1995)Google Scholar
  3. 3.
    Hudak, P.: Haskore music tutorial. In: Launchbury, J., Sheard, T., Meijer, E. (eds.) AFP 1996. LNCS, vol. 1129, pp. 38–67. Springer, Heidelberg (1996)Google Scholar
  4. 4.
    de Moor, O., Bird, R.: Algebra of Programming. Prentice-Hall, London (1997)zbMATHGoogle Scholar
  5. 5.
    Hughes, J.: The design of a pretty-printing library. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 53–96. Springer, Heidelberg (1995)Google Scholar
  6. 6.
    Jeuring, J., Jansson, P.: Polytypic programming. In: Launchbury, J., Sheard, T., Meijer, E. (eds.) AFP 1996. LNCS, vol. 1129, pp. 68–114. Springer, Heidelberg (1996)Google Scholar
  7. 7.
    Kieburtz, R., Lewis, J.: Programming with algebras. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 267–307. Springer, Heidelberg (1995)Google Scholar
  8. 8.
    Swierstra, S.D., de Moor, O.: Virtual data structures. In: Möller, B., Schuman, S., Partsch, H. (eds.) Formal Program Development. LNCS, vol. 755, pp. 355–371. Springer, Heidelberg (1993)Google Scholar
  9. 9.
    Azero, P., Swierstra, S.D.: Optimal pretty-printing combinators (April 1998), Available at http://www.cs.ruu.nl/groups/ST/Software/PP/
  10. 10.
    Wadler, P.: Deforestation transforming programs to eliminate trees. Theoretical Computer Science 73, 231–248 (1990)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Johnsson, T.: Attribute grammars as a functional programming paradigm. In: Kahn, G. (ed.) FPCA 1987. LNCS, vol. 274, pp. 154–173. Springer, Heidelberg (1987)Google Scholar
  12. 12.
    Bird, R.: Using circular programs to eliminate multiple travesals of data. Acta Informatica 21, 239–250 (1984)zbMATHCrossRefGoogle Scholar
  13. 13.
    Swierstra, S.D., Duponcheel, L.: Deterministic, error correcting combinatory parsers. In: Launchbury, J., Sheard, T., Meijer, E. (eds.) AFP 1996. LNCS, vol. 1129, pp. 184–207. Springer, Heidelberg (1996)Google Scholar
  14. 14.
    Jones, M.P.: Functional programming with overloading and higher-order polymorphism. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 97–136. Springer, Heidelberg (1995)Google Scholar
  15. 15.
    Fokkinga, M., Meijer, E., Paterson, R.: Functional programming with bananas, lenses and barbed wire. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 124–144. Springer, Heidelberg (1991)Google Scholar
  16. 16.
    Kuiper, M., Swierstra, S.D.: Using attribute grammars to derive efficient functional programs. In: Computing Science in the Netherlands CSN 1987 (November 1987), ftp://ftp.cs.ruu.nl/pub/RUU/CS/techreps/CS-1986/1986-16.ps.gz

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • S. Doaitse Swierstra
    • 1
  • Pablo R. Azero Alcocer
    • 1
  • João Saraiva
    • 1
    • 2
  1. 1.Department of Computer ScienceUtrecht UniversityUtrechtThe Netherlands
  2. 2.University of MinhoBragaPortugal

Personalised recommendations