InfoQ

Topic/Tag specific view

Functional Programming Content on InfoQ


Latest featured content about Functional Programming

Stuart Halloway on Clojure and Functional Programming

Community
Java
Topics
Dynamic Languages

Relevance, Inc. co-founder Stuart Halloway discusses Clojure and functional programing on the JVM in depth, and touches on the uses of a number of other modern JVM languages including JRuby, Groovy, Scala and Haskell. He also makes a case for structural edit modes in IDEs, and shares some of his favorite IT books.

News about Functional Programming

Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency

Community
Architecture,
Ruby,
Java
Topics
Language Design,
Runtimes,
Language,
Compilers,
Performance & Scalability,
Dynamic Languages

Clojure 1.1 RC1 is out and cuts the overhead of functional programming with a few new constructs: transients bring controlled mutability for persistent data structures; chunked sequences make lazy sequences more efficient. InfoQ takes a look at what makes these improvements work.

Clojure Roundup: Distribution with Crane, Mathematics with Incanter, Builds with Leiningen 1.0

Community
Java,
Ruby
Topics
Dynamic Languages,
Deployment / Datacenter,
Build systems,
Configuration Management

FlightCaster recently open sourced Crane, a tool for distributing and remotely controlling Clojure instances, currently specialized for EC2. Incanter is a Clojure library and tool that makes R-like statistical computations easy with Clojure. Also: the build and dependency management tool Leiningen 1.0 is now available.

Articles about Functional Programming

Clojure and Rails - the Secret Sauce Behind FlightCaster

Community
Architecture,
Ruby,
Java
Topics
Domain Specific Languages,
Language,
Performance & Scalability,
Dynamic Languages,
Ruby on Rails

FlightCaster, a realtime flight delay site, is built on Clojure and Hadoop for the statistical analysis. The web frontend is built with Ruby on Rails and hosted on Heroku. We talked to Bradford Cross about Clojure, functional programming and tips for OOP developers interested in making the jump.

Beyond Foundations of F# - Active Patterns

Community
.NET
Topics
Programming

Since Robert Pickering published Foundations of F# in May, the language has grown significantly. Besides adding a host of new features, it is being moved from a research project to a fully supported, production-grade release. We asked Robert to discuss some of the new features in F#.

Presentations about Functional Programming

Pragmatic F# in Action

Community
.NET
Topics
Language

Amanda Laucher and Josh Graham introduce the audience to F# basics showing some of its main features, emphasizing what makes it better than imperative languages. Laucher also presents the case of a real life application where she rewrote large portions of C# code replacing it with dense fast executing F# instructions.

Functional Programming with a Mainstream Language

Community
.NET,
Architecture
Topics
Language

Sadek Drobi shows how he applied functional programming principles to a real-life project which needed to meet certain performance requirements. He shares the lessons learnt on using mutation, laziness, recursion, functions, monads, list comprehensions and parallelization in an attempt to achieve a functional domain model.

Interviews about Functional Programming

Ruby Creator Yukihiro "Matz" about Ruby, Functional Programming and Programming Languages Design

Community
Architecture,
Ruby
Topics
Language Design

In this interview, Yukihiro Matsumoto talks about programming languages design and decisions he had to take while designing Ruby. He also discusses other programming languages including Haskell, Scala, Python and Clojure. While talking about Ruby language and functional programming, Matz explores opportunities of integrating some of FP into Ruby and imagines a purer IO approach for it.

John Hughes Contrasts Erlang and Haskell

Community
Architecture
Topics
Language

John Hughes has ported QuickCheck from Haskell to Erlang. In this interview, he contrasts the two languages, outlining features that he finds more attractive in each of them. He also explains how QuickCheck works and what makes it different from unit tests.