summaryrefslogtreecommitdiff
path: root/gemfeed/2010-04-09-standard-ml-and-haskell.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2023-04-09 14:02:40 +0300
committerPaul Buetow <paul@buetow.org>2023-04-09 14:02:40 +0300
commit52bd2c196e9ca21a01b0f6c04afc127916423b9e (patch)
tree297bb2a51fd2413c6e89c1c5c8f57b06b0fd65d7 /gemfeed/2010-04-09-standard-ml-and-haskell.md
parent8fcde6dd14ebc360bd76b94a889bdbebda5b8fd2 (diff)
Update content for md
Diffstat (limited to 'gemfeed/2010-04-09-standard-ml-and-haskell.md')
-rw-r--r--gemfeed/2010-04-09-standard-ml-and-haskell.md20
1 files changed, 10 insertions, 10 deletions
diff --git a/gemfeed/2010-04-09-standard-ml-and-haskell.md b/gemfeed/2010-04-09-standard-ml-and-haskell.md
index f6ca7719..f92e6b89 100644
--- a/gemfeed/2010-04-09-standard-ml-and-haskell.md
+++ b/gemfeed/2010-04-09-standard-ml-and-haskell.md
@@ -12,7 +12,7 @@ Haskell is also a "pure functional" programming language, whereas SML also makes
Standard ML:
-```
+```sml
datatype ’a multi
= EMPTY
| ELEM of ’a
@@ -21,7 +21,7 @@ datatype ’a multi
Haskell:
-```
+```haskell
data (Eq a) => Multi a
= Empty
| Elem a
@@ -33,7 +33,7 @@ data (Eq a) => Multi a
Standard ML:
-```
+```sml
fun number (EMPTY) _ = 0
| number (ELEM x) w = if x = w then 1 else 0
| number (UNION (x,y)) w = (number x w) + (number y w)
@@ -44,7 +44,7 @@ fun test_number w = number (UNION (EMPTY, \
Haskell:
-```
+```haskell
number Empty _ = 0
number (Elem x) w = if x == w then 1 else 0
test_number w = number (Union Empty \
@@ -56,7 +56,7 @@ test_number w = number (Union Empty \
Standard ML:
-```
+```sml
fun simplify (UNION (x,y)) =
let fun is_empty (EMPTY) = true | is_empty _ = false
val x’ = simplify x
@@ -74,7 +74,7 @@ fun simplify (UNION (x,y)) =
Haskell:
-```
+```haskell
simplify (Union x y)
| (isEmpty x’) && (isEmpty y’) = Empty
| isEmpty x’ = y’
@@ -92,7 +92,7 @@ simplify x = x
Standard ML:
-```
+```sml
fun delete_all m w =
let fun delete_all’ (ELEM x) = if x = w then EMPTY else ELEM x
| delete_all’ (UNION (x,y)) = UNION (delete_all’ x, delete_all’ y)
@@ -103,7 +103,7 @@ fun delete_all m w =
Haskell:
-```
+```haskell
delete_all m w = simplify (delete_all’ m)
where
delete_all’ (Elem x) = if x == w then Empty else Elem x
@@ -115,7 +115,7 @@ delete_all m w = simplify (delete_all’ m)
Standard ML:
-```
+```sml
fun delete_one m w =
let fun delete_one’ (UNION (x,y)) =
let val (x’, deleted) = delete_one’ x
@@ -135,7 +135,7 @@ fun delete_one m w =
Haskell:
-```
+```haskell
delete_one m w = do
let (m’, _) = delete_one’ m
simplify m’