Matthew Podwysocki's Blog
Architect, Develop, Inspire...
-
[ANN] DC ALT.NET – 5/27/2009 – Introduction to Pair Programming
The DC ALT.NET group is continuing the back to basics approach with this month covering an introduction to pair programming. It’s part of our commitment to the community to encourage such practices as in our previous sessions on Test Driven Development and Refactoring. This month is no exception in pair programming and why two heads are better than one.
-
F# Actors Revisited
UPDATE: Removed ref cells to use two recursive loops
-
Axum – Ping Pong with Dataflow Networks
In the previous post, I gave the canonical Ping-Pong example in Axum and how it compared with Axum. I want to revisit this post because there are some areas in which we can rework it in addition to the other solutions we’ll visit. Some parts were needlessly chatty and instead we’ll work in some other language features to help clean up our solution.
-
Axum – Introduction and Ping Pong Example
As it was announced last week, Axum, a .NET Domain Specific Language around safe, scalable parallel programming through the actor model and message passing was released to the world as a CTP. It was noted, that although this is an initial release, that this is still an incubation project which may or may not lead to a final product. This post will serve as a kind of introduction to the language and some basic concepts.
-
Axum Hits CTP
As I relayed in an earlier post about the soon availability of Axum, well, today is the day. I noted before that Microsoft has still not decided whether to release this as a real project, and needs feedback from users like yourself. On the Axum site there is a great video on how to build your first Axum application. Over time, I hope to add a few to the picture myself as actor model concurrency to me is highly interesting for many problems in today’s environment. You can read more of the announcement at the Axum Team Blog.
-
Type Classes Are The Secret Sauce
I came across a recent post on adding Ruby and C# operators to F# that sparked a few thoughts in my head. The post was good, but yet there were operators that already existed for some of the operations mentioned such as the defaultArg and ( @ ). But what really got me was thinking about type classes again due to the fact that extension operators aren’t currently supported in the language whereas extension events, properties, methods and statics are. I covered this in the past in regards to implementing an approximate equality check for my Functional Programming Unit Testing series, but I want to dive further into that subject a little more in this post.
-
Functionally Implementing Intersperse
This week while seeming to put off finishing many other blog posts on type classes, Collective Intelligence, the war on foreach and so on, I found myself intrigued by solving a simple problem in F# and look at the tradeoffs. This post is meant to be a little dive into several ways to solve a problem and seeing where the pitfalls lie.
-
Axum, Reactive Framework and other Lang.net items
A few weeks ago, the 2009 Lang.NET symposium was came and went and there were a few talks that caught my eye. There were many great talks including those by some of the following luminaries:
-
Functional Composition and Partial Application
In the past couple of posts, I’ve been talking about functional composition in regards to explaining its relevance to C#. I thought I’d step back just a little though and explain more of the fundamentals in a more natural functional language such as Haskell or F#. C# has a tendency to be a bit unnatural when it comes to explaining such concepts that I hope this becomes clearer.
-
Functional C# – Reverse Functional Composition
In the previous post, I covered currying as well as left to right functional composition. I showed that with a few extensions methods to our functions, we can create rich, albeit verbose, solutions through functional composition. But, what about going from right to left in functional composition? Could that be done as well?