Open turion opened 10 months ago
Hi Manuel! I'm glad you liked the post and thanks for the suggestions.
I wasn't aware of most of these points, so I will reply to them separately.
Context
class should have some well-known name but couldn't find anything. The best I got was Foldable
but it starts to get off for the probabilistic monads. Well, Foldable
models some logic of a container, so it may be a better way to think of it.transducers
for automata with outputs. The categorical point of view is nice to know, nevertheless.
I really liked reading through your blog post about automata. There is some related reading that you might enjoy (or already be aware of):
Context
class looks a lot like "predicate transformers", see https://webspace.science.uu.nl/~swier004/publications/2019-icfp-submission-a.pdfContext
class related to modalities of containers/strictly positive types/polynomial functors (e.g. https://www.cs.nott.ac.uk/~psztxa/publ/cont-tcs.pdf). For example, there is a functionbox :: Finite r => Reader r Bool -> Bool
that takes theand
over all possible values of the environmentr
.accepting
functions, automata in a monad have been studied. They've been called "transducers" and some other name. There is e.g. a category-theoretic work by Bart Jacobs, "A Bialgebraic Review of Deterministic Automata".monad-bayes
) really gives rise to some great applications, e.g. https://hackage.haskell.org/package/rhine-bayes