miniblog.

You can redefine function application in Racket! This would be really handy for tracing or debugging.
PhotoPhoto
Hash tables are much less useful in a language with great struct support. I use them a lot in Python, far less in Rust.
https://landoflisp.com/ describes every Lisp feature in terms of how it prevents bugs. This is a great practice in many situations!
Photo
Pharo has resumable exceptions, which are useful for coding and a delight when debugging. I don't know why they aren't more common.
Interfaces are a great way of grouping methods, but many PLs struggle with method name overlaps in unrelated ifaces.
PhotoPhoto
Shen macros are interesting: here's an example of defining a macro to expand a func call to a call to the same func!
Ported my first codebase to mypy today! It was pretty painless, though I think I hit a bug in the type checker.
Compiling the first GCC to support i386 on a modern linux box: https://miyuki.github.io/2017/10/04/gcc-archaeology-1.html (works surprisingly well!)
I find pattern based macro systems harder to read. It's not clear what's syntax/what's a placeholder. Perhaps a prolog approach would work?
Scheme code completion based on the type of variables! I've not seen many editors implement this.
Photo
Overview of implmenting a full R5RS macro system: https://news.ycombinator.com/item?id=15396587 (the best approach is still an open question!)
How many bugs are actually code not meeting their spec? IME most bugs are "it would be nice/consistent/robust if it handled $X this way".
The best bug report title I've ever had! https://github.com/Wilfred/suggest.el/issues/34
The line between 'full-blown DSL' and 'full-featured library' is extremely fuzzy. I find it hard to use 'DSL' in a clear, meaningful way.
There's also great list of things that lisp-style macros empower you to do here: https://stackoverflow.com/a/2563308/509706
Showing 3,226-3,240 of 7,584 posts