• DocumentCode
    1360554
  • Title

    Scientific Programming: The Promises of Typed, Pure, and Lazy Functional Programming: Part II

  • Author

    Läufer, Konstantin ; Thiruvathukal, George K.

  • Author_Institution
    Comput. Sci., Loyola Univ. Chicago, Chicago, IL, USA
  • Volume
    11
  • Issue
    5
  • fYear
    2009
  • Firstpage
    68
  • Lastpage
    75
  • Abstract
    This second installment picks up where Konrad Hinsen\´s article "The Promises of Functional Programming" from the July/August 2009 issue left off, covering static type inference and lazy evaluation in functional programming languages. In the first installment in this series on functional programming, Konrad Hinsen introduced the functional programming paradigm, which encourages recursion and higher-order functional abstraction in algorithms. In this second installment, we explore several other aspects of the functional paradigm. Using examples in the Closure, Java, and Haskell languages, we discuss some of the benefits of static typing with type inference and pure, side-effect-free functional programming with lazy evaluation. In particular, we argue that these features make Haskell a compelling choice for general software development. The scientific computing community, however, likely require better numeric library support and efficient functional versions of scientific algorithms before accepting Haskell more widely.
  • Keywords
    functional languages; functional programming; mathematics computing; program control structures; program diagnostics; reasoning about programs; software libraries; type theory; Haskell language; functional programming language; higher-order functional abstraction; lazy evaluation; numeric library support; scientific algorithm; scientific programming; software development; static type inference; Arithmetic; Computer languages; Dynamic programming; Functional programming; Inference algorithms; Java; Runtime; Scientific computing; Software libraries; Virtual machining; Functional programming;
  • fLanguage
    English
  • Journal_Title
    Computing in Science & Engineering
  • Publisher
    ieee
  • ISSN
    1521-9615
  • Type

    jour

  • DOI
    10.1109/MCSE.2009.147
  • Filename
    5228719