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

  • Ray Tracers using C# and LINQ

    Luke H. shows how to write a ray tracer using C# 3 and LINQ in about 400 lines of code.

  • Automatic Parallel Processing, Will It Work?

    Larry O'Brien questions the assumption that multi-core processors and languages that can leverage them will necessarily lead to performance gains.

  • Haskell the next language for Rubyists?

    Now that Ruby holds no secrets from him, Antonio Cangiano explains why and how Haskell will satisfy his passion for language learning.

  • Function Memoization in C#

    Pure functions, those that always return the same value for a given input, have several advantages over other functions. One of these is that their result can be saved or "memoized" so they do not need to be recalculated. Wes Dyer of the C# compiler team demonstrates a generic way to do this with C# 3.0 and closures.

  • Is C# becoming a functional language?

    With the extensive functionality added to support LINQ, many people have been asking if C# and VB are becoming functional languages. Mads Torgersen, C# Language PM, answers this question in his article by the same name.

  • The Roots of C# 3.0: F# and C-Omega

    Tomas Petricek talks about C# 3.0 and the languages that led to many of its new features. The two languages that most inspired C# 3.0, F# and C-Omega, are discussed in detail along with how the features changed as they moved from the research languages to C#.

  • F#: Two Remarkable Years

    The functional programming language F# was first announced by Don Syme of Microsoft Research in 2005. Two years after its release, it has already made significant progress towards becoming mainstream. One of its most noteworthy achievements is that it was used by the DOE Joint Genome Institute to create Darren Platt calls "the fastest genome assembly viewer I've ever seen".

  • What should Lambda Expressions in Visual Basic Look Like?

    In order to support LINQ, Visual Basic is adding support for lambda expressions. Lambda expressions are essentially inline functions and are a corner-stone of functional programming languages like Lisp and Haskell. As the next version of Visual Basic edges ever closer, certain syntactical issues need to be addressed.

  • Starfish Brings Google-Style Distributed Processing to Ruby

    An implementation of MapReduce, a process invented by Google to easily split up tasks to be performed by hundreds of machines, is brought to Ruby in a library called Starfish.

  • Functional Programming in Java with Generics and CGLib

    Those interested in Functional Programming usually have to use a well suited-language like Scheme, Haskell, Ruby, or Groovy; or, in Java, use Anonymous Inner/Local classes to fake it like commons-collections. Ray Cromwell has a method for doing FP in Java using Generics and CGLib with less code and type safety.

  • Scala: combining the best of Ruby and Java?

    Like Ruby, Scala has a very terse syntax and its extensibility makes it suitable for writing DSLs, like Java, Scala is statically typed and can call Java code seamlessly without any declarations or glue code. Scala founder Martin Odersky (who co-designed Java Generics and implemented javac) has started blog today with his first entry on the history which led up to Scala.

  • Nemerle: A Hybrid Programming Language For The .NET Platform

    Nemerle is a hybrid language developed by the Computer Science Institute of the University of Wroclaw in Poland. It is a high-level statically typed language that offers functional, object-oriented, and imperative features. It has a simple C#-like syntax and a meta-programming system.

BT