You probably won't pick the perfect abstraction the first time. However it's the process of picking and trying that helps you find it.
miniblog.
Related Posts
I love how JS makes project-specific imports unambiguous: `import "./project-dir/foo"` versus `import "installed-pkg/foo".
I've been doing the same in my PL. I've just realised that `import "/home/wilfred/project/foo"` now works too. It's weird but probably harmless?
Are there any developer experience advantages for `x := 1` over `let x = 1`?
A `let` keyword probably improves parsing error behaviour, and makes declarations more visible.
:= is more concise though.
Writing type params with <> (e.g. List<Int>) seems the most natural to me: probably because I encountered that syntax first.
Between C++, Java and TypeScript I think it's the most common too.
List[Int] seems to be next most common (Scala, Python) but TIL Gleam uses List(Int)!