I've been working with the Yesod web framework for 3 months now and it feels very untyped, inspite of its tagline, "Creation of type-safe, RESTful web applications". So many constraints are not encapsulated in the types. Furthermore, there is little separation of levels of abstraction.

I'm looking forward to learning Servant. Based on its research paper, it looks very promising thanks to its usage of type-level features!


When I moved away from Scala and got into Haskell, I couldn't believe how much easier Haskell makes programming for me thanks to its type system. This shift opened a whole new world for me.

Now I'm experiencing the same, but within : seeing how fails to utilize the type system, which leads to opaque and repetitve code in programming a , whereas provides structure, clarity, documentation and other via types.

Types for the win!

· · Web · 1 · 8 · 9

@mdimjasevic Glad to hear that from someone else. It's very close to my own experience actually, but the very positive way i hear most of the web talk about Yesod makes me doubt how well founded that feeling is sometimes.

@tauli, I believe Yesod is great compared to so many other options out there (primarily in other programming languages, e.g., in ).

However, when I have to modify an endpoint, with I'm lost as to what are the constraints for the endpoint. What I've seen so far with seems to solve these problems elegantly by relying on the . Furthermore, Yesod conflates different levels of abstraction, which makes it even harder to see what is going on and where.

@mdimjasevic @tauli In most cases inference and typed holes is quite helpful when you need to figure out the types. Wrote quite a lot of production Yesod, but I'm with out on the Servant thing. Yesod is very opinionated and wants you to adhere to these opinions. Working with servant is a lot more liberating.

@raichoo @tauli I'm aware of typed holes, but that's not what I'm discussing here. My problem is, e.g., with no way to know which headers are expected for a given request by looking at the handler's signature in . In this is easy to specify.

Sign in to participate in the conversation
La Quadrature du Net - Mastodon - Media Fédéré

Mamot.fr est un serveur Mastodon francophone, géré par La Quadrature du Net.