Remix.run Logo
hurril 3 days ago

I am going to interpret your question as one asked in good spirit.

I like this book: https://www.manning.com/books/functional-design-and-architec...

yakshaving_jgt 3 days ago | parent [-]

> I am going to interpret your question as one asked in good spirit.

Thanks. It was.

> I like this book

I have that book, but I haven't read it. Which part specifically should I look at to understand what you mean by "monadic architecture"? Or do I need to read the entire book first? I'm searching through that book right now, and as far as I can tell, it doesn't mention "monadic architecture" even once.

hurril 3 days ago | parent [-]

An architecture that consists of monads.

yakshaving_jgt 3 days ago | parent [-]

That doesn't really tell me anything though. I use monads, and applicatives, and functors, and monoids, semigroups, etc

When you use Hakyll to generate a static site, you use a bunch of monads. But is a Hakyll site a "monadic architecture"? I'm not quite sure how I'd describe it as an architecture — it's really just an imperative program. It's to some degree a bit like a Makefile.

A Yesod application on the other hand I would readily describe as MVC, and yet it's all monads all over the place.

What about something like The Elm Architecture? Elm provides a bunch of monads (not directly as an abstraction, but through a few specific instances) but its architecture I would describe as perhaps FRP, or unidirectional data flow state machine kinda thing.

So that's three examples with clearly distinct architectures, and all three are architectures that "consist of monads".

So, I don't really understand what "monadic architecture" means.