Scientific Programming: The Promises of Typed, Pure, and Lazy Functional Programming: Part II
Konstantin Läufer, George K. Thiruvathukal
Abstract
Konstantin Läufer, George K. Thiruvathukal
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.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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.
Key concepts: Haskell, Functional programming, Computer science, Type inference, Programming language, Lazy evaluation, Functional reactive programming, Programming paradigm