Double Cone Design - A highly effective approach for designing functional programs

Double Cone Design - A highly effective approach for designing functional programs

I found this post on /r/functionalprogramming and I wondered what your thoughts were. I have to say I don’t understand it all on the first read, but this bit I thought was especially interesting and requires some more reading from my side:

When connecting the two worlds, I use very special techniques like message queuing and mutation-caching (EG - Prime.KeyedCache and Prime.MutantCache) to encapsulate highly-efficient mutable abstractions below the highly-programmable immutable APIs.

I like the idea of moving the Purity-Efficiency plane back and forth depending on your application. As functional programmers, we definitely need to be aware of how we separate the pure and impure functions. The Data Abstraction-Symbolics cones are not immediately obvious to me…

1 Like

I found that article esoteric and vague. In my experience as a technical author, novel concepts are best explained by presenting simple examples; code or analogy or even an anecdote. Otherwise the writer is not writing for an audience, but for himself/herself. Linking to a 159-line source file on GitHub doesn’t really help someone who is looking to grasp something new, such as what “symbolics” means. But maybe I’m just out of my element here.

5 Likes