summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2024-07-08 19:48:25 -0400
committerDavid Thompson <dthompson2@worcester.edu>2024-07-08 19:48:25 -0400
commit32430313fe894a879ece74afff012d28340bf106 (patch)
tree2d035493e9c46d0615db119c3a36266cf6c4429f
parent86b5bbdd05881b612783069367b10125c28bfdee (diff)
Fix typo.
-rw-r--r--posts/2024-07-03-frp-with-propagators.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/posts/2024-07-03-frp-with-propagators.md b/posts/2024-07-03-frp-with-propagators.md
index cfb0e30..da7d8b0 100644
--- a/posts/2024-07-03-frp-with-propagators.md
+++ b/posts/2024-07-03-frp-with-propagators.md
@@ -32,7 +32,7 @@ I found that, overhead aside, FRP is a bad fit for things like
scripting sequences of actions in a game. I don’t want to give up
things like coroutines that make it easy. I’ve learned how different
layers of a program may call for different programming paradigms.
-Functional layers rest upoin imperative foundations. Events are built
+Functional layers rest upon imperative foundations. Events are built
on top of polling. Languages with expression trees run on machines
that only understand linear sequences. You get the idea. A good
general-purpose language will allow you to compose many paradigms in