3 ms·
How about servant, and some popular js framework on top of that? IHP might be putting a lot of effort into the project, but the code generation part... I (perso
by kreetx 6y ago
How about servant, and some popular js framework on top of that? IHP might be putting a lot of effort into the project, but the code generation part... I (personally) don't like that at all. And it's not common practice in haskell.
- hardwaresofton 6y agoSecond this -- Servant is one of the best examples of server-side haskell there is, and from what I understand IHP is relatively new in comparison (correct me if I'm wrong). Servant is one of the best if not the best example of how haskell's higher level abstractions can benefit practical bread and butter programming (which making APIs is these days) tasks, and where type safety is a huge benefit. Writing servant handlers can also feel mostly imperative depending on how much you use `do`.
- _query 6y agoIHP is very opinionated in the way how it approaches building web applications (Code Gen, Project structure, Naming, ..). But exactly this kind of opinionated design makes it possible to be very productive, compared to doing everything yourselves.
- kreetx 6y agoIHP is opinionated in the sense that it does state on the server side and uses (something similar to) turbolinks to make it look fast. But generating additional types for SomeDataType like ViewSomeDataType etc - my gut feeling tells me these should be implemented trough type classes instead. New data types shouldn't be generated for cases like this. Disclaimer: I've only looked at the docs of IHP, but this was what it looked like it was doing.