From 53e38a9eeabf26f387d63b5593f3de6172505f03 Mon Sep 17 00:00:00 2001
From: Mark Seemann
Date: Mon, 21 Oct 2024 08:20:57 +0200
Subject: [PATCH] Simplify link
---
_posts/2024-10-21-legacy-security-manager-in-haskell.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2024-10-21-legacy-security-manager-in-haskell.html b/_posts/2024-10-21-legacy-security-manager-in-haskell.html
index 4f7434ff..7e0be984 100644
--- a/_posts/2024-10-21-legacy-security-manager-in-haskell.html
+++ b/_posts/2024-10-21-legacy-security-manager-in-haskell.html
@@ -53,7 +53,7 @@
printf "Saving Details for User (%s, %s, %s)" username fullName array
- Notice how the Haskell code seems to suffer slightly from the Arrow code smell, which is a problem that the C# code actually doesn't exhibit. The reason is that when using Haskell in an 'imperative style' (which you can, after a fashion, with do
notation), you can't 'exit early' from a an if
check. The problem is that you can't have if
-then
without else
.
+ Notice how the Haskell code seems to suffer slightly from the Arrow code smell, which is a problem that the C# code actually doesn't exhibit. The reason is that when using Haskell in an 'imperative style' (which you can, after a fashion, with do
notation), you can't 'exit early' from a an if
check. The problem is that you can't have if
-then
without else
.
Haskell has other language features that enable you to get rid of Arrow code, but in the spirit of the exercise, this would take us too far away from the original C# code. Making the code prettier should be a task for the refactoring exercise, rather than the starting point.