6 ms·
Model-view-controller, Haskell-style
- inglor 12y agoWhy are people so fixated with the term `MVC`, it's just the name of _an_ architectural pattern. What the library author has here looks pretty cool, but I don't understand how it's anything like MVC. It's not that the author is special here, things like ASP.NET MVC and PHP 'MVC' frameworks make no attempt to be even close to the design pattern but still take pride in calling themselves 'MVC frameworks'. In general, people seem to be calling everything that does 'separated presentation' MVC. One of the things I don't understand.
- groovy2shoes 12y agoCan you elaborate a little more on how this is different from MVC? It seems to me that this library is rather similar to Wikipedia's description of MVC, but with the state moved out of the model.
- Gabriel439 12y agoThe model may use pure state (using the `State` monad), but if you wish to read or write that state to a persistence layer you must go through a `View` or `Controller`.
- tel 12y agoThis is identical to the picture I would have used to describe this library: http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/MVC-Process.svg/400px-MVC-Process.svg.png http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/MVC... The only weird bit is that MVC in, say, Rails also lets the model talk to the database. This can (and has) been considered to be a mistake. It's not a three-tiered architecture, though, if that's what you're looking for.