> the Norwegian Data Protection Authority strongly doubts that Meta's proposed ‘consent’ mechanism, often dubbed ‘pay or okay’, complies with the GDPR. The EDPB’s decision is therefore important to avoid Meta's infringement continuing while the company is exploring its options.
It's for the UI, yes, since they're not my accounts, I'm just tech support for them ;-) I've seen there is an hledger-web, but there's a bunch of reports and workflows already set up in Gnucash and switching would involve learning new things and I'd rather spend as little time as I can on accounting and taxes. (OTOH adding a script to enable "git log -p" took like ten minutes.)
I store the .gnucash file in git, and after editing things in Gnucash I run a script that exports[0] it to a hledger file in the same directory and commits both. So `git show` gives me a readable view of what changed, but the accounts are still usable by non-nerds.
I was in a similar position using Python at work. At first I learnt Ocaml on the side, which was really fun, and taught me to work with types instead of avoiding thinking about them as I did with C++. Then I got a job where I got to write "simple" Haskell – picking up Haskell after Ocaml was no problem, mostly just felt like a change of syntax. It's been fun, and for the domains I've used it for (mainly combining data from various sources, analysing, predicting), a very good fit. Also used it for web stuff with IHP lately, which has also been a success.
The Haskell ecosystem is somewhat larger than Ocaml's (more support, users, learning materials, libraries). The difficulty with Haskell is mostly that it makes abstraction so easy that you can be tempted to make your code too abstract. But if you can manage to KISS, it can feel like a safer, cleaner, faster Python. Haskell doesn't require you to code in pure functions, but it will let you know through the types that a function is not pure / is "in IO", and it has lots of features to let you easily do things purely that you would otherwise do in IO. That may lead to more of your code being pure in the end. F#'s main advantage is access to the C# ecosystem, though at the cost of possibilities for null pointers when calling C# libraries / .NET API's.
See also https://www.in-ulm.de/~mascheck/various/uuoc/ (via https://lobste.rs/s/rtvp2u/useful_uses_cat#c_0xpqkr )