Purely Functional Structured Programming

Preprint English OPEN
Obua, Steven (2010)
  • Subject: Computer Science - Programming Languages

The idea of functional programming has played a big role in shaping today's landscape of mainstream programming languages. Another concept that dominates the current programming style is Dijkstra's structured programming. Both concepts have been successfully married, for example in the programming language Scala. This paper proposes how the same can be achieved for structured programming and PURELY functional programming via the notion of LINEAR SCOPE. One advantage of this proposal is that mainstream programmers can reap the benefits of purely functional programming like easily exploitable parallelism while using familiar structured programming syntax and without knowing concepts like monads. A second advantage is that professional purely functional programmers can often avoid hard to read functional code by using structured programming syntax that is often easier to parse mentally.
  • References (11)
    11 references, page 1 of 2

    1. Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, 2007.

    2. Dahl, Dijkstra, Hoare. Structured Programming. Academic Press, London, 1972.

    3. De Bruijn, Govert. A survey of the project AUTOMATH. In Hindley and Seldin (editors), To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, Academic Press, 1980.

    4. Jones, Wadler. Imperative Functional Programming. ACM Symposium on Principles of Programming Languages, 1993, pp 71-74.

    5. Milner; Tofte, Harper, MacQueen. The Definition of Standard ML. MIT Press, 1997.

    6. Odersky, Spoon, Venners. Programming in Scala. Artima Press, 2008.

    7. Wadler. Linear types can change the world! In M. Broy and C. Jones, editors, Programming Concepts and Methods. North Holland, Amsterdam, 1990.

    8. Babel-17. http://www.babel-17.com

    9. Mini Babel-17. http://www.babel-17.com/Mini-Babel-17

    10. Isabelle. http://isabelle.in.tum.de

  • Metrics
    No metrics available
Share - Bookmark