How to Learn Nix, Part 48: Installing (single-user) Nix on macOS
Related
More from Ian Henry
You’ve probably seen this Python 101 thing before: @memoized def fib(n): if n 1: return n return fib(n - 1) + fib(n - 2) Leaving aside the absurdity of computing Fibonacci numbers recursively, it’s a common first introduction to Python decorators and higher-order functions. fib is just a function, and memoized takes that function and returns a...
The reason I discovered an ancient blog post the other day was that I had something new to say about Nix for the first time in over two years. The thing I want to say is this: nix-direnv is great. It fixes roughly every problem that I’ve had with nix-shell, and does so in a much nicer way than my previous ad-hoc solutions. This is important...
When you think about the Fibonacci sequence, you probably imagine a swirling vortex of oscillating points stretching outwards to infinity: Okay, no, obviously you don’t. Yet. When you think about the Fibonacci sequence, you probably flush with a latent rage when you remember that it is, more often than not, the way that we introduce the concept...
I want to tell you about an idea that has had a huge influence on the way that I write software. And I mean that in the literal sense: it’s changed the way that I write software; it’s re-shaped my development workflow. The idea is this: you can write programs that modify themselves. And I don’t mean macros or metaprogramming or anything fancy...
I’ve been writing a lot of Janet lately, and I’ve been especially enjoying my time with the macro system. Janet macros are Common Lisp-flavored unhygienic gensym-style macros. They are extremely powerful, and very easy to write, but they can be pretty tricky to get right. It’s easy to make mistakes that lead to unwanted variable capture, or to...