• Skip to primary navigation
  • Skip to content
  • Skip to primary sidebar
  • Skip to footer

LispCast

Making the world safe for Functional Programming

  • Hire Eric
  • Podcast
  • Essays
  • About

Thoughts on Functional Programming Podcast

An off-the-cuff stream of Functional Programming ideas, skills, patterns, and news from Functional Programming expert Eric Normand.

Subscribe on iTunes or via RSS.

Is there always a way to implement an algorithm without mutable state?

Eric Normand · Updated January 15, 2019

It’s tempting to use mutable state in your algorithm. It’s so convenient! And we’re so used to it, if we come from an imperative paradigm. But we must remember that there is always a way, even if it’s not immediately obvious. I go over two ways to implement an algorithm without mutable state.

What is the universal process pattern?

Eric Normand · Updated January 15, 2019

Part 3 of the functional architecture series. The universal process pattern is a schematic representation of software. For a software process to be useful, it needs input, it needs to calculate something from that input, and it needs to have some output or effect on the world.

What is the onion architecture?

Eric Normand · Published November 15, 2018

Part 2 of the functional architecture series. When we’re structuring our functional software, we want to isolate the actions from the calculations. We can do that using the Onion Architecture, which has layers like an onion. The center of the onion is your domain model, then around that are your business rules. Finally, around that is your interaction layer, which talks with the outside world, including the database, web requests, api endpoints, and the UI.

More about Stratified Design

Eric Normand · Published November 12, 2018

Part 1 in the Functional architecture series. The Stratified Design, which I called “layered design” before, is a way of architecting your code as a series of layers of meaning. It’s a common way of organizing your code and structuring your application.

Why is functional programming gaining traction? Why now?

Eric Normand · Updated January 8, 2019

The biggest companies in the world are investing heavily in functional programming. From Facebook building React and Reason, to Apple pivoting to Swift, to Google developing MapReduce, functional programming is gaining traction. But why? I go over four hypotheses and evaluate them.

Some thoughts on map, filter, and reduce

Eric Normand · Published November 5, 2018

Are map, filter, and reduce popular for a reason? Do these things capture some essence of iteration? Are they just better for loops?

What do functional programmers think of the class inheritance hierarchy?

Eric Normand · Published November 1, 2018

When a functional programmers looks at the typical OOP examples that show the inheritance hierarchy, they see something weird: why is one possible field plucked out to become the class? And why make it static?

Why do functional programmers focus on time?

Eric Normand · Published October 29, 2018

It turns out that in distributed and parallel systems, time plays a huge role. I think that’s why fp is booming these days: all web sites are distributed systems. And web developers are facing all the irreducible problems of distributed systems, and they’re turning to fp for answers.

What is “to reify” in software?

Eric Normand · Published October 25, 2018

“To reify” means “to make real”. It’s an old concept from philosophy. When you name a concept, you can start talking about it. We do something similar in programming. When you take a concept and make it first class, you can begin to manipulate it with the normal programming constructs.

  • « Previous Page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • …
  • Page 9
  • Next Page »

Primary Sidebar

Please leave a review on iTunes.

Subscribe

RSS
iTunes

Recent Episodes

  • What are side-effects?
  • What are concurrency and parallelism?
  • What are race conditions?
  • What are pure functions?
  • How to apply the Onion Architecture

PROFESSIONAL SERVICES

                  Hire Eric

  • Speaking
  • Consulting
  • Training

KEEP IN TOUCH WITH ERIC NORMAND

  • Email
  • Github
  • Linkedin
  • Phone
  • Twitter
  • YouTube

Footer

  • Email
  • Github
  • Linkedin
  • Phone
  • Twitter
  • YouTube

Professional Services

  • Speaking
  • Consulting
  • Training

Content

  • Essays
  • Podcast
  • Presentations

Copyright © 2019 Eric Normand