Are there any FP books aimed at beginners, that focus on CS theory instead of being a language tutorial?
TAPL is a decent example, but it needs gentler start to introducing notation at the very least.
@eviefp.bsky.social
they/she commie & queer activist apprentice field mathematician, functional programming enjoyer DMs are open
Are there any FP books aimed at beginners, that focus on CS theory instead of being a language tutorial?
TAPL is a decent example, but it needs gentler start to introducing notation at the very least.
Well, that was a fun 11 hours or Hades 2 & refactor.
One room of Hades for every commit/module.
My cat Freya laying next to my monitor. A terminal with nixos config switch is showing.
Freya also thinks this refactor is long overdue.
11.10.2025 10:55 — 👍 0 🔁 0 💬 0 📌 0It's interesting to me that it's a 1500+ lines nix file and it doesn't feel THAT bad.
The main motivator for this are things like I want to put bindings next to plugins when they're related.
My idea of a fun Saturday: split my neovim nix config into sub-modules.
11.10.2025 10:27 — 👍 1 🔁 0 💬 2 📌 1AuDHD woman, surprised that fidget toys help them focus during meetings. More after the break.
09.10.2025 21:21 — 👍 4 🔁 0 💬 0 📌 0Lazy evaluation means that you won't get raptured until the very moment where Anubis needs to weigh your soul on the scale
24.09.2025 10:33 — 👍 70 🔁 15 💬 2 📌 0These monolithic corporate, closed-source tools with little to no usable documentation (looking at you azure/sonarcloud/etc.) almost make me understand why people end up using LLMs.
16.09.2025 14:27 — 👍 1 🔁 0 💬 0 📌 0That's an interesting perspective! My mental model links OO polymorphism with existentials packed with a typeclass/dictionary.
Or from the perspective of the caller picking type arguments, the OO equivalent would be generics/templates.
a screenshot from wplace, showing three things side by side, clearly grouped together: a trans pride flag (with a small blåhaj), a non-binary pride flag (with some logos i don't recognize), and the cover of the Homotopy Type Theory book
absolutely incredible find on wplace
29.08.2025 18:27 — 👍 18 🔁 3 💬 1 📌 0It was rather trivial (especially since I have a yubikey spare) to just re-generate new certificates and decrypt/re-encrypt everything.
However, I don't even want to think what level of a pain in the ass it would be to recover (part of) all this if my yubikey broke.
Turns out it's important to try disaster recovery sometimes.
I just found out I did not correctly write down the password for my backed up yubikey certificates, so I could not recover anything if the yubikey broke.
But then line goes down, because in the vast majority of cases you end up spending a lot more money on these "cheap" (they're not as cheap as they should) things because they break so often.
22.08.2025 13:25 — 👍 0 🔁 0 💬 1 📌 0This is what I currently have, and now `neovim` is just like any other package.
I personally use nixvim, so I just set `programs.nixvim.package = neovim;` along with a bunch other configs. See
github.com/eviefp/dotfi...
and
github.com/eviefp/dotfi...
neovim = pkgs.neovim-unwrapped.overrideAttrs (_: {
version = "0.12.0-dev";
src = pkgs.fetchFromGitHub {
owner = "neovim";
repo = "neovim";
rev = "c522cb0e96dad3bf3a834df5c6a8988f5c13a1a3";
hash = "sha256-KPEN54yO3OQMxd+dn5lCw8dfvokfwzeTEqSEpy7e208=";
};
Oh, overrideAttrs it is. I always forget this exists.
21.08.2025 22:09 — 👍 1 🔁 0 💬 1 📌 0Well, looks like I'm running neovim main, because this is annoying github.com/neovim/neovi...
Also is there a way to just override `pkgs.neovim-unwrapped` rather than copy/pasting that bit from `nixpkgs` and manually updating the fetchGit bit?
Let’s say I had 3000 lines of #erlang code and I wanted to hire someone to re-write than in #gleamlang. Is there someone who would be willing to do that? How much would you charge for that?
21.08.2025 21:28 — 👍 3 🔁 1 💬 2 📌 0my avatar, a redhead wide-eyed cartoon girl posing with a catty face
meowww
17.08.2025 22:09 — 👍 4 🔁 0 💬 0 📌 0And sure, he's extremely charismatic, unphased and had a good PR team. But that's not enough. The policies is what bought this home.
And the democrats can easily follow the lead in the midterms and beyond. But will they? Why not?
Instead of shouting at leftists to vote for the lesser evil, yap at the liberal party.
Even if we focus on the US, look at what happened in the NY primaries. A progressive (soc-dem?) candidate that pretty much nobody knew before the campaign won by a landslide.
If the greater evil always makes things worse, and the lesser evil also makes things worse, but not as much, when do things get better?
When has the "lesser evil" gang ever made things better? Are you sure they're not just less in-your-face with what they do, better at maintaining appearances?
I'm really getting tired of this "you MUST vote for the lesser evil".
And this isn't only true for the US. It's true for pretty much any capitalist "democratic" country where liberals and conservatives are the primary two options that swap seats every few years.
Playing PC games with my daughter sure is a fun milestone to reach.
Been doing this for a few months now, and we've now graduated to minecraft, and it's really fun to build stuff/play with her.
meoowww :3
13.08.2025 12:44 — 👍 4 🔁 0 💬 0 📌 0Should I be worried that I keep switching to running more and more software from the main/dev branch?
It just feels relatively safe to do so, since I can very easily revert my NixOS flake configuration back.
Honestly, I often think we should stop running most programs.
13.08.2025 11:05 — 👍 4 🔁 0 💬 0 📌 0Absolutely, and a LLM won't catch that. But I might, when I write out the types and functions and, using experience, feel that something is off (or, if I'm lucky, the model I pick makes it painfully obvious).
03.08.2025 12:21 — 👍 0 🔁 0 💬 1 📌 0You do you, but
bsky.app/profile/evie...
I want to write types and generic function signatures, and see the prover take its best shot.
Sandy Maguire's (isovector) tactics plugin was close, but it's now unfortunately defunct.
If anything, that would be the tool that would actually help me write code faster.