InfoQ Homepage Functional Programming Content on InfoQ
-
F# 1.9.4 Available Now with Important Updates
Microsoft released an new version of its F# compiler, version 1.9.4. A version more polished and simplified.
-
Is it time to abandon loops?
With the addition of LINQ, extension methods, and improved anonymous delegates, many algorithms no longer need explicit loops. In a post titled "If you are using a loop, you're doing it wrong", Chuck Jazdzewski looks at a possible future for C#.
-
Presentation: Scala: Bringing Future Languages to the JVM
In this presentation, Lex Spoon discusses the Scala programming language. Topics covered include the origin of Scala, the philosophy behind Scala, the Scala feature set, Object-Oriented and Functional programming in Scala, examples of Scala code, writing DSLs, how Scala is converted into Java, Scala performance, Abstract Data Types, unapply, actors and partial functions.
-
Programming Languages: More Powerful with Less Freedom?
In quest for more power, languages are often grown with new features. While it provides programmer with more freedom, does this actually achieve more power? Reg Braithwaite believes that this is not necessarily true and argues that it is possible to render language more powerful yet limiting options offered to programmers.
-
Debate about Testing and Recoverability: Object Oriented vs. Functional Programming Languages
In his latest blog post, Michael Feathers argued that object oriented programming languages offer some built-in features that facilitate testing and are therefore more recovery friendly than functional languages. Proponents of functional languages expressed strong disagreement with this statement, which provoked a very passionate debate in the blog community.
-
Communicating Intent through Idiom and Paradigm Selection
What about using idioms and programming conventions as signals to achieve more readability and expressiveness? This is what Reg Braithwaite advocates for, suggesting that syntax or even paradigm choices can be a means to communicate the intent.
-
Get a Grasp on Expression Trees
Developers familiar with functional programming languages might not need an explanation as to why expression trees are useful. For the rest of us expression trees are the most striking concept of all the new features in C# 3.0 or VB 9.0.
-
Tapping method chains with Ruby 1.9
Ruby 1.9 adds a method to all objects: tap. This method allows to elegantly inspect data that flows through chained method calls. We look at how it's implemented at where it's helpful.
-
WPF and F#
Yesterday we told you about using PHP.NET with Silverlight. The GUI framework for Silverlight, WPF, represents the future of Windows development. So it is understandable that F# developers would be looking at it with a keen eye as well.
-
Mads Torgersen: C# Futures
Floyd interviews Mads Torgersen at JAOO and they discuss the future of C# and the LINQ additions.
-
Borrowing Functional APIs from F#
The Common Language Specification ensures that any conforming .NET language can access libraries created by any other language. This means imperative languages like VB and C# can call functional libraries created primarily for F#. In fact, many can be converted directly into C# code.
-
Designing for flexibility and robustness: Asynchronous message model, OOP and Functional Programming
According to Pragmatic Programmers it is preferable in OOP to avoid design based on returning values. Michael Feathers argues that it may also be better to use the asynchronous message model that might be instrumental for improving adaptability and robustness. This maps well to the Erlang model though opposing some of the principles of pure functional programming.
-
Article: Beyond Foundations of F#
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#.
-
F# to Be Integrated With Visual Studio
Somasegar has announced that F# will be integrated with Visual Studio, joining Managed C++, C#, and Visual Basic as a first class on the .NET platform.
-
Longjumps, Tailcalls, Tuples for the JVM
This summer, John Rose made a series of posts described as "some exciting articles about the future of the JVM," including long jumps, tail calls and tuples. These could be folded into the Java language, but can also be seen as important for supporting other languages on the JVM, including both functional and dynamic languages.