Functional Programming and Scala Koans: upcoming talks

On Saturday, May 5, 2012, I will be presenting “Functional Programming for the Masses” at the Great Lakes Functional Programming Conference. This one-day event is

Read more >> Functional Programming and Scala Koans: upcoming talks

Greetings from the Strange Loop Conference in St. Louis

Dianne writes about her first few days at the Strange Loop conference, including presenting the Scala Koans and which sessions she attended.

Read more >> Greetings from the Strange Loop Conference in St. Louis

Don’t Misuse Lambdas

Avoid Duplicating Code It’s great that so many C# and VB.NET developers are taking advantage of LINQ. Unfortunately, using LINQ can encourage you to misuse lambdas. Consider the following simple example: var results = from x in 0.Through(10) select x * x; Square is a useful utility function. It shouldn’t be defined as a lambda [...]

Read more >> Don’t Misuse Lambdas

Designing F# Functions for Currying and the |> Operator

Last week, I led a jam about F# at the Ann Arbor Study Group. One of my SRT Solutions coworkers, Ben Barefield, asked a question that warrants further discussion. After I introduced the forward pipe (|>) operator, Ben asked the following: In F# programming, do you design functions so the last argument is one that [...]

Read more >> Designing F# Functions for Currying and the |> Operator

Option Types vs Nullable Types

Some of the feedback that we’ve received about Elevate has to do with Option types and how they are different or similar to Nullable types in C#. Luke Hoban does a great job of describing some of the differences here: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=470052 If you’ve played around with Option types in F# or another functional language, you [...]

Read more >> Option Types vs Nullable Types

Introducing Elevate

The past few weeks, a few other SRT Solutions developers and I have been working on a new open source library called Elevate. We went public with the source on CodePlex this weekend, and although we’re still in the early stages of development, I already rely on many of the functional programming features of the [...]

Read more >> Introducing Elevate