Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Difference to hal? #125

Open
nomeata opened this issue Mar 3, 2023 · 1 comment
Open

Difference to hal? #125

nomeata opened this issue Mar 3, 2023 · 1 comment

Comments

@nomeata
Copy link
Contributor

nomeata commented Mar 3, 2023

I’m using aws-lambda-haskell-runtime, but recently stumbled over hal, and I wonder if there are significant difference worth knowing.

At Nike-Inc/hal#118 I asked the same, and Nathan responded, so I thought I’d crosslink, and maybe you have a different take.

Ideally maybe the respective docs can give friendly advice to users which one to pick?

@NickSeagull
Copy link
Contributor

Hey! I was just taking a look at the other thread. Personally, I haven't tried hal in depth, and when I did it was long time ago, so cannot recall the differences really.

If it helps in your research in some way, the approach taken in the development of this library was to use the simplest language features out there to lower the entrance barrier to anyone, even if they were newcomers to Haskell. That's why docs use so much IO (Either a b) everywhere and there's little mention to custom monads and/or transformers (unless you want to configure your own handler dispatcher, but that's an advanced use case on its own)

hal seems to be much more configurable and tweakable at the lower level, but you gotta know what you're doing, while this library abstracts you from all of the details.

Both have their own tradeoffs. If you happen to have a comparison text, would love to put it in the docs and put a link to hal :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants