167 karma · joined April 9, 2019
This is something GitHub should be investing time in, it’s so frustrating.
The only complexity there is getting it installed on everyone's machine, but that's true of most tooling, even the common stuff given versions won't match. I solve that with Nix.
I really like Nix but in this particular way it feels like taking a big step backwards from the other languages I frequently use, particularly for a language in which you'll necessarily be constantly interacting with bespoke interfaces.
I've found it to be quite flexible though. For example, here's a commit in which I apply a patch to a tool to solve a problem that the derivation hadn't taken into account (and absent a home-manager solution): https://github.com/samhh/dotfiles/commit/867dd3b4d4b3942a0aa...
I drink espresso every morning. I challenge you to find a way to link that to this thread that isn't as useless as defining a synonym for the word "habit", or "preference", or similar.
Reality doesn't have to be interesting, nor do the results of self-examination. As best I can tell I'm a biological entity with a false sense of self and free will on a rock in the middle of an unfathomably large universe, the existence of which I will never understand. That's it. That's actually already quite interesting. Why do so many feel the need to try and force the elevation of the everyday and the mundane into that same plane? And worse yet, to speak condescendingly of others as you do so.
There are other approaches you can take too, like encoding your effects in a monad which has a different runtime representation in tests. It's like mocking on steroids with type safety.
Source: Used to work there.
I'd recommend learning Haskell in your free time. It's a major paradigm shift but once it clicks you'll find it a lot easier to translate those concepts into fp-ts.
I went through this journey a couple of years ago, and now write heavy fp-ts code full-time - including maintaining fp-ts-std[1] - as well as some paid Haskell gigs on the side. Do feel free to reach out if you want any guidance at all, you'll find my email on my personal site[2]. The FP Slack is also a great place to ask for help with anything FP, including fp-ts - if you send me an email I can have an invitation sent to you.
[1]: https://github.com/samhh/fp-ts-std [2]: https://samhh.com
It comes up a lot in discussions about Go. A simple, "readable" language in which I can't tell you at a glance what a block of code does or is responsible for.