InfoQ Homepage Functional Programming Content on InfoQ
-
Functional Design Patterns
Aino Vonge Corry reviews a number of well known design patterns showing that their implementation is simpler in functional languages because such languages have pattern-based constructs.
-
Functional Approaches To Parallelism and Concurrency
Don Syme on functional languages features, showing why and when they are useful for parallel programming: simplicity, composability, immutability, lightweight reaction, translations, data parallelism.
-
Functional Languages 101: What’s All the Fuss About?
Rebecca Parsons makes an basic introduction to functional languages, explaining how to think in a functional language, why is there renewed interested in them, and some nifty things about them.
-
A Discussion of Basic vs. Applied Research in the Software Domain and the Creation of Erlang
Bjarne Däcker recounts the story of CSLab at Ericsson, the birthplace or Erlang, how it started, some of the projects leading to Erlang, and its eventual success inside Ericsson as Erlang/OTP.
-
The Joy of Testing
John Hughes shows how to explore the bugs of a code by creating a series of tests in Erlang and using multiple test frameworks, discovering the faults and evaluating the frameworks while doing it.
-
Death by Accidental Complexity
Ulf Wiger shows how concurrency can lead to accidental complexity if it is badly implemented in code, becoming a project’s point of failure. Wiger also advises on how concurrency should be addressed.
-
Multicore Programming in Haskell
Simon Marlow explains through code samples what Haskell has to offer for concurrent programming through concurrent data structures and thread-based concurrency, and Haskell’s tools for parallelism.
-
Groovy: Best Practices Developed From Distributed Polyglot Programming
Jonathan Felch discusses Groovy, its major features, using it in a financial project, the benefit of using dynamic and meta-programming features together, ending with what is not so great in Groovy.
-
Towards a Universal VM
Alex Buckley presents some of the challenges for JVM to become a universal VM, serving the needs of Java and non-Java languages, static and dynamic languages, and an ever growing number of features.
-
Message Passing Concurrency in Erlang
Joe Armstrong explains through Erlang examples that message passage concurrency represents the foundation of scalable fault-tolerant systems.
-
Absorbing Scala in the Java Ecosystem
Eishay Smith presents the main differences between Scala and Java, explaining how the Java developers can start integrate Scala code into their development, building, testing and runtime environments.
-
Clojure in the Field
Stuart Halloway on Clojure development including BDD for functional code, wrapping Java APIs, third part libraries worth knowing, writing code without an objectual context, and the learning curve.