BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Functional Programming Content on InfoQ

  • Community-Driven Research: Why Are You Not Using Functional Languages?

    InfoQ's research initiative continues with an 11th question: "Why Are You Not Using Functional Languages?". This is a new service we hope will provide you with up-to-date & bias-free community-based insight into trends & behaviors that affect enterprise software development. Unlike traditional vendor/analyst-based research, our research is based on answers provided by YOU.

  • Introducing the New Features of F# 3.0

    The upcoming release of .NET Framework 4.5 brings in several new features for F# 3.0 (F Sharp) language such as a new type attribute, triple-quoted string literals, auto-properties, and unused variable warnings in addition to the core features such as type providers and LINQ queries.

  • Talking WebSharper with Adam Granicz

    The F#-based framework, WebSharper, was recently released as an open source project. We spoke with Adam Granicz, CEO of IntelliFactory about the transition and WebSharper’s F# to JavaScript compiler.

  • Loop: A Compact JVM Language for Multi-Core

    As a programming language, Loop is compact JVM language influenced by Haskell, Scheme, Ruby and Erlang. It also tries to bring together the best features of functional programming  and OO languages, in a consistent and pragmatic manner.

  • Rich Hickey Speaks on Datomic at Clojure/West

    Rich Hickey spoke at the Clojure/West conference last weekend about his newest venture, Datomic, which he describes as “a distributed database designed to enable scalable, flexible and intelligent applications, running on cloud architectures.” Datomic sits on Amazon’s DynamoDB, and embeds Datalog, a subset of Prolog, to move queries into the application.

  • ClojureScript Brings Clojure To The Browser via Javascript

    Rich Hickey has announced ClojureScript, a version of Clojure that is compiled to Javascript code, which will bring the Clojure language to the browser and to the mobile space. InfoQ takes a look at the rationale for and implementation of ClojureScript.

  • Object Oriented Programming is out of the CMU Computer Science Introductory Curriculum

    Robert Harper and Dan Licata, Professors of Computer Science at Carnegie Mellon University, announced last week that they have decided to "eliminate entirely" OOP from the CS introductory curriculum.

  • JavaOne Preview: Java Functional Programming in an Interview with GridGain CEO Nikita Ivanov

    This month GridGain CEO Nikita Ivanov will be speaking about functional programming at JavaOne in San Francisco. With its 3.0 release, GridGain added a more functional feel to its product by reworking the APIs. InfoQ contacted Mr. Ivanov to get the deeper story about his company's experiences with functional programming.

  • Object Oriented Programming: The Wrong Path?

    In a QCon London 2010 interview with Joe Armstrong, the original developer of Erlang, and Ralph Johnson, long associated with Smalltalk, OOP, and Patterns, the question of whther we've gone down the "wrong path" w.r.t. object orientation all these yearrs. Both interviewees suggest that we have, but this is due to flaws in the implementation of object ideas and not the ideas themselves.

  • Clojure 1.1 Adds Transients, Chunked Sequences for Efficiency

    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

    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.

  • Empower Your Ruby With Haskell And Hubris

    Embedding C in Ruby or Rails applications is a way to fix performance bottle necks. RubyInline made this easy for C. Mark Wotton recently created Hubris, a bridge which makes it possible to call Haskell code from Ruby.

  • The Many Types of Null in F#

    F# was supposed to free us of the tyranny of the unchecked null. Alas not only does the compiler lack null checking, it introduces several more kinds of null.

  • Pattern Matching in .NET 4

    Pattern matching may seem like an alien concept to developers who focus on C# and VB style languages, but it shouldn’t be. Ultimately it is just a refinement of the case statement, which itself is a refinement of if-else-if blocks. This piece takes a brief look at that transition and how F#’s pattern matching can be applied to VB and C#.

  • Latest F# Breaks Binary Compatibility

    Microsoft has included F# in VS 2010 Beta 1 and has released a corresponding CTP update for VS 2008. The latest binaries, version 1.9.6.16, are not compatible with previous ones, v. 1.9.6.2, meaning all previous code needs to be recompiled.

BT