Object-Oriented Architecture, Functional Design

Every developer in every paradigm is taught the evils of globals. We know that you don't want to expose data to global access, because it can become too difficult to predict how that data will behave. When globals are necessary, this is generally mitigated by the practice of making globals read-only: environment variables and other global application state that is either extracted from the system or set once upon application start is generally considered relatively safe as a global.

Read More
Beyond the Business Case

This post is an expansion of a presentation that I gave at the first Miami Functional Programming meetup. The basic motivation is that there are an enormous number of presentations and talks floating around about making the business case for functional programming, but I find that those are often not very effective in real business settings. The issue is that they often talk nuts and bolts, dollars and cents, and in real life that's not entirely how decisions are made. Of course, that part is necessary--a bad business case should be a non-starter for making a choice in an enterprise context--but it's not generally sufficient for getting a real change to happen.

Read More
IEX for Rapid Text Processing

Yesterday I found myself having to modify several thousand lines of a CSV that was somehow exported poorly. As I started to think about this, I realized that the REPL of IEX and pattern matching would make this a piece of cake.

Read More
William ByattComment