6 ms·
I tried the example and it worked. I am indeed amazed, both at Wingman and how good Haskell and its tooling has become since I last looked at it a couple of yea
by dunefox 5y ago
I tried the example and it worked. I am indeed amazed, both at Wingman and how good Haskell and its tooling has become since I last looked at it a couple of years ago.
- whateveracct 5y agoOne promise of Haskell is that, once you've become an advanced or expert user, it is a gigantic force multiplier for individual devs or small, tight teams. The way the tooling has progressed recently imo is that being proven in real-time.
- bufo 5y agoWhat are your favorite new developments in tooling? I haven’t used Haskell since 2014.
- whateveracct 5y agoFor all the new tools (HLS, Wingman), it's the core tooling that has improved the most since the then. GHC (+ghci) and cabal are leagues ahead of 2014 now. Some other cool tooling advancements since then that come to mind are.. Nix integration (both nixpkgs and haskell.nix), ghc heapview, ghcjs, a glut of formatters, ghcid (is this that new?)
- bufo 5y agoThanks I'll take a look!
- whateveracct 5y agoPerusing GHC changelogs since then will show you a _lot_ of new things in the language, compiler, and repl for sure.
- wyager 5y agoGhcid rocks! Makes it super easy to develop in a terminal with no IDE. Just a text editor here and ghcid there, telling me instantly when I make a mistake.
- exdsq 5y agoWhy would you want to develop in a terminal with no IDE? The only other people I've seen do this were long-term Haskell developers (I remember seeing someone fixing a bug with sed!)
- wyager 5y agoIt makes you write better code with a smaller local conceptual branching factor. You need to be able to keep the number of concepts required to comprehend a piece of code small enough to fit in working memory. This forces you to structure your code well, come up with better abstractions, etc. It's also more zen, faster (in terms of UI responsiveness), less prone to breaking, requires less maintenance and configuration, etc. IDEs are generally terrible for code quality, (and for my personal happiness,) but they're also viral because if one person working on a codebase is using an IDE, then they're probably going to write code that forces everyone else to also use an IDE - e.g. because understanding the code practically requires jump-to-definition.
- runeks 5y ago> […] e.g. because understanding the code practically requires jump-to-definition. Wait… so the code you write makes me magically able to know the record field names of your data types without looking at their definition? Your statement may be true if it’s talking only about the core logic of an application, but when we get to the part that interfaces with the rest of the world, things always get somewhat messy. An IDE is a huge help here. I mean, sure, you may be able to memorize the arguments that “readCreateProcess” takes (https://www.stackage.org/haddock/lts-18.19/process-1.6.13.2/System-Process.html#t:CreateProcess https://www.stackage.org/haddock/lts-18.19/process-1.6.13.2/...), but sometimes it’s really handy to have an IDE help you with this.