[HN Gopher] IHP, a batteries-included web framework built on Has...
       ___________________________________________________________________
        
       IHP, a batteries-included web framework built on Haskell and Nix
        
       Author : _query
       Score  : 49 points
       Date   : 2022-09-17 15:43 UTC (7 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | activitypea wrote:
       | >25 dollars a month for solo projects
       | 
       | >125 dollars a month per seat for companies
       | 
       | That's.. irregular. I really have nothing nice to say about this
       | model, so I'll just leave a really good conf talk here. The part
       | around 8:30 is really pertinent to this situation.
       | https://youtu.be/VBwWbFpkltg
        
       | _query wrote:
       | IHP is basically the rails/laravel/django of Haskell. If you
       | haven't tried Haskell before or think Haskell is only about
       | monads and math, give it a try and be surprised :)
       | 
       | Some links if you want to try out IHP:
       | 
       | - Intro video demoing how to build apps with IHP:
       | https://www.youtube.com/watch?v=UbDtS_mUMpI
       | 
       | - Docs to get started:
       | https://ihp.digitallyinduced.com/Guide/index.html
       | 
       | - IHP reviews: https://www.g2.com/products/ihp/reviews
       | 
       | Happy to answer any questions on IHP :)
        
         | danpalmer wrote:
         | One of the great things about Django/Rails (and I guess
         | Laravel, but I have no experience) is the ecosystem of packages
         | that integrate well with them.
         | 
         | For example, with Django, there are a ton of packages that
         | integrate well with things like Models, the Forms subsystem,
         | Middleware, Template rendering, Cache backends, etc.
         | 
         | Is there a similar ecosystem with IHP? Are the extension points
         | there in the framework to allow those sorts of packages to
         | integrate seamlessly?
         | 
         | My past experience with Haskell web frameworks was that there
         | weren't many packages for common things, and that when there
         | were they took quite a bit of integration work to use nicely.
        
           | jbreckmckye wrote:
           | > My past experience with Haskell web frameworks was that
           | there weren't many packages for common things, and that when
           | there were they took quite a bit of integration work to use
           | nicely.
           | 
           | Congralulations, you read an email address out of a database!
           | Commiserations, it was parsed into a LazyByteString and the
           | rest of your stack demands a Text or a String or a
           | CuneiformCodepointArray or whatever...
        
           | _query wrote:
           | We don't have a comparable ecosystem yet, but IHP uses many
           | popular Haskell libraries under the hood. So many normal
           | Haskell libraries integrate very well, as the underlying data
           | structures are always exposed. Functional programs compose
           | well in general due to it's stateless nature, that helps as
           | well.
           | 
           | IHP also comes with a lot of things you'd typically use
           | external packages for (e.g. Auth).
           | 
           | In general the IHP experience is very different from other
           | Haskell web frameworks and much more batteries included, so a
           | lot of apps typically don't need any external packages at
           | all.
        
         | whateveracct wrote:
         | Isn't Yesod also like the Rails of Haskell?
        
       | danpalmer wrote:
       | I've looked at IHP briefly a number of times and the thing that
       | always turns me off it is the fact that it's perhaps _too_
       | batteries included.
       | 
       | When I read the pricing page on IHP's site, and see something
       | like "Email confirmation" (for authentication) having a price
       | associated with it, it makes me assume that IHP is sufficiently
       | locked down that I couldn't just build that feature myself.
       | Either it's not, and I can do, and I've got the wrong impression,
       | or it is, and I worry that IHP having that much control over my
       | codebase will make other things that it doesn't support much
       | harder than with other frameworks.
       | 
       | I'm all for the business model of well integrated, well supported
       | plugins for the framework, but a closed, tightly controlled
       | development environment that I can't break out of as I feel is
       | necessary isn't something I'd bet a company on.
        
         | _query wrote:
         | Thanks for the feedback!
         | 
         | Check out the docs for email confirmation here:
         | https://ihp.digitallyinduced.com/Guide/authentication.html#e...
         | You'll see that most parts of the confirmation workflow
         | actually happen inside your application. Only the actual
         | controller implementation is part of IHP pro, and it's just 20
         | lines of code. So you can easy implement this yourself.
         | 
         | Generally IHP uses a lot of standard libraries of the Haskell
         | ecosystem. So you can always break out of IHP when things don't
         | work. It's not much more lock in than other frameworks in the
         | space :)
         | 
         | Some more background on the ideas behind the pricing can be
         | found here btw: https://ihp.digitallyinduced.com/Guide/ihp-
         | pro.html
        
           | danpalmer wrote:
           | Thanks, that does address my concerns well.
        
           | nextaccountic wrote:
           | I don't understand how can you make MySQL support and role-
           | based access control paid features. Are they not open source?
        
       ___________________________________________________________________
       (page generated 2022-09-17 23:01 UTC)