4 ms·
This looks awesome. On Friday I started going through "learn you a Haskell" and absolutely love the languages expressiveness and syntax. One thing that ticked
by AJRF 9y ago
This looks awesome. On Friday I started going through "learn you a Haskell" and absolutely love the languages expressiveness and syntax.
One thing that ticked me off a bit was that the package manager and build system (cabal and stack) were a bit incomprehensible to me, hopefully this packages everything up nicely.
Indentation is a bit confusing in Haskell too, but this IDE has built in support for linting indentation.
- adamnemecek 9y agoYeah I always get stuck on cabal and stack.
- 3131s 9y agoI tried out Yesod and Snap a while back and while the frameworks themselves were pleasant to work with from what I could tell, I spent whole days messing with package management issues that would render my projects unrunnable after new installs. I couldn't see myself working with Haskell in production for a web project until that situation improves.
- fasquoika 9y agoAren't some Haskell developers also using Nix for dependency management?
- tikhonj 9y agoI use Nix and it's awesome, but still in early adopter territory. It works wonderfully if you really value reproducible builds and are willing to put some effort in the initial setup, but it's still a bit fiddly and documentation is nearly non-existent. If you have the time and motivation to learn about it up-front and get it set up it pays off, but I wouldn't recommend it to beginners just trying to learn Haskell.
- platz 9y agoHow long is a while back?
- 3131s 9y agoA couple months ago. I'll definitely give them another shot, but it was very non-exotic stuff like installing snaplet-postgresql-simple that sent two separate systems into dependency hell.
- platz 9y agoThat's pretty recent. I'm sure you're aware of stack , solves most 'dependency hell' issues. I'm not sure how much snap is maintained these days BTW, but definitely yesod is actively maintained and should have no dep issues there especially if using stack
- zzzzzzzza 9y agoFunny I do web dev, mostly haskell and javascript and feel like haskell is a solid rock and javascript is unbearable. Part of the explanation may be ease of initial interchangeability (javascript: oh yeah we can glue that to this no problem, it's all just like json or whatever man) versus maintainability (haskell: here is your type contract, the closest thing you can get in code to the fundamentalness and immutability of 2+2 =4).
- Buttons840 9y agoStack is the easier of the two, that may change with future cabal-install releases. Probably the hardest part is getting the cabal file setup correctly.
- beojan 9y agoStart with a stack template. For an application, the simple template is the easiest.
- adamnemecek 9y agoI’m not talking about authoring, I’m talking about including projects with stack. Idk if it ever worked without me spending at least 15 mind on it.
- beojan 9y agoIf you pick a stackage release that has all the packages you need, it's as simple as adding the package to your dependencies in the cabal file. If your stackage release doesn't have the package you need, you also need to add it to `extra-deps` in stack.yaml.