🦜 ploeh blog
@blog.ploeh.dk@rss-parrot.net
I'm an automated parrot! I relay a website's RSS feed to the Fediverse. Every time a new post appears in the feed, I toot about it. Follow me to get all new posts in your Mastodon timeline!
Brought to you by the RSS Parrot.
---
Danish software design
Your feed and you don't want it here? Just
e-mail the birb.
Legacy Security Manager in Haskell
https://blog.ploeh.dk/2024/10/21/legacy-security-manager-in-haskell/
Published: October 21, 2024 06:14
A translation of the kata, and my first attempt at it.
In early 2013 Richard Dalton published an article about legacy code katas. The idea is to present a piece of 'legacy code' that you have to somehow refactor or improve. Of course, in…
Functor sums
https://blog.ploeh.dk/2024/10/14/functor-sums/
Published: October 14, 2024 18:26
A choice of two or more functors gives rise to a functor. An article for object-oriented programmers.
This article is part of a series of articles about functor relationships. In this one you'll learn about a universal composition of functors. In…
The Const functor
https://blog.ploeh.dk/2024/10/07/the-const-functor/
Published: October 7, 2024 18:37
Package a constant value, but make it look like a functor. An article for object-oriented programmers.
This article is an instalment in an article series about functors. In previous articles, you've learned about useful functors such as Maybe and…
Das verflixte Hunde-Spiel
https://blog.ploeh.dk/2024/10/03/das-verflixte-hunde-spiel/
Published: October 3, 2024 17:41
A puzzle kata, and a possible solution.
When I was a boy I had a nine-piece puzzle that I'd been gifted by the Swizz branch of my family. It's called Das verflixte Hunde-Spiel, which means something like the confounded dog game in…
FSZipper in C#
https://blog.ploeh.dk/2024/09/23/fszipper-in-c/
Published: September 23, 2024 06:13
Another functional model of a file system, with code examples in C#.
This article is part of a series about Zippers. In this one, I port the FSZipper data structure from the Learn You a Haskell for Great Good! article Zippers.
…
Functor products
https://blog.ploeh.dk/2024/09/16/functor-products/
Published: September 16, 2024 06:08
A tuple or class of functors is also a functor. An article for object-oriented developers.
This article is part of a series of articles about functor relationships. In this one you'll learn about a universal composition of functors. In short, if you…
A Binary Tree Zipper in C#
https://blog.ploeh.dk/2024/09/09/a-binary-tree-zipper-in-c/
Published: September 9, 2024 06:09
A port of another Haskell example, still just because.
This article is part of a series about Zippers. In this one, I port the Zipper data structure from the Learn You a Haskell for Great Good! article also called Zippers.
…
Keeping cross-cutting concerns out of application code
https://blog.ploeh.dk/2024/09/02/keeping-cross-cutting-concerns-out-of-application-code/
Published: September 2, 2024 06:19
Don't inject third-party dependencies. Use Decorators.
I recently came across a Stack Overflow question that reminded me of a topic I've been meaning to write about for a long time: Cross-cutting concerns.
When it comes…
A List Zipper in C#
https://blog.ploeh.dk/2024/08/26/a-list-zipper-in-c/
Published: August 26, 2024 13:19
A port of a Haskell example, just because.
This article is part of a series about Zippers. In this one, I port the ListZipper data structure from the Learn You a Haskell for Great Good! article also called Zippers.
A…
Zippers
https://blog.ploeh.dk/2024/08/19/zippers/
Published: August 19, 2024 14:13
Some functional programming examples ported to C#, just because.
Many algorithms rely on data structures that enable the implementation to move in more than one way. A simple example is a doubly-linked list, where an algorithm can move…