diff options
Diffstat (limited to 'content/posts/it-doesnt-mean-that')
| -rw-r--r-- | content/posts/it-doesnt-mean-that/index.md | 40 | ||||
| -rw-r--r-- | content/posts/it-doesnt-mean-that/wikimedia_monad.svg | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/content/posts/it-doesnt-mean-that/index.md b/content/posts/it-doesnt-mean-that/index.md new file mode 100644 index 0000000..0fb2988 --- /dev/null +++ b/content/posts/it-doesnt-mean-that/index.md @@ -0,0 +1,40 @@ +--- +title: It doesn't mean that +date: 2024-05-16 +--- + +<img src="wikimedia_monad.svg" alt="A plain circle with a small dot in the center" style="max-height: 200px; margin-bottom: 0px" /> + +## When I learned my first programming language + +I learned about functions. + +A _function_ is a thing you can call. The function might then _return_ a value. + +## Then I learned about functional programming + +And learned that those words did not mean that at all. Or at least that was not their full, universal meaning. + +Those _functions_ were actually _procedures_. Or _subroutines_. A function should be mathematical and pure. A mapping from a type to another. + +_Returning_ was not optional. All functions return, explicitly or implicitly, since function application must be assigned a value. + +I learned new words too. + +_Functors_ are containers. _Monads_ are powered-up functors with useful computational context. + +## Now that I’m learning about category theory… + +…I’m learning that those words do not mean what I thought they meant, either. + +_Functions_ are apparently morphisms, or arrows, in the category of types. _Functors_ are not containers, they are morphisms between categories. They are also their own category. + +_Monads_ are — I haven’t gotten to monads yet. + +## I read that they have a Monad in philosophy + +And it means _god_. [¹](it-doesnt-mean-that#fn1) + +--- + +1. <a href="https://en.wikipedia.org/wiki/Monad_(philosophy)" id="fn1">More or less.</a> diff --git a/content/posts/it-doesnt-mean-that/wikimedia_monad.svg b/content/posts/it-doesnt-mean-that/wikimedia_monad.svg new file mode 100644 index 0000000..887c3c6 --- /dev/null +++ b/content/posts/it-doesnt-mean-that/wikimedia_monad.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><link xmlns="" type="text/css" rel="stylesheet" id="dark-mode-custom-link"/><link xmlns="" type="text/css" rel="stylesheet" id="dark-mode-general-link"/><style xmlns="" lang="en" type="text/css" id="dark-mode-custom-style"/><style xmlns="" lang="en" type="text/css" id="dark-mode-native-style"/><style xmlns="" lang="en" type="text/css" id="dark-mode-native-sheet"/><path fill="#fff" stroke="#000" stroke-width="2" d="M254 128a126 126 0 1 1-252 0 126 126 0 1 1 252 0z"/><path d="M138 128a10 10 0 1 1-20 0 10 10 0 1 1 20 0z"/><script xmlns="" id="bw-fido2-page-script"/></svg>
\ No newline at end of file |
