Caterpillar

Daily Thought - 2024-07-21

< back to list

There are many trade-offs in language design. Here's one example: Do you favor explicitness, which makes it more obvious what's going on, hence making code easier to read; or implicitness, which reduces the amount of code you need, thus making it easier to write.

I want to try and sidestep this trade-off in Caterpillar, by explicitly designing it to be used (and read) with tooling. If that works out like I hope, we'll get ease of writing and ease of reading, because everything can be implicit and inferred, but still clearly visible in the code as you work with it.

But that's just a different trade-off, and you pay for that one by making Caterpillar less readable where tool support is missing. Like when you read code on a site like GitHub. I think the upside of designing the language with tooling in mind will be worth it, but we'll have to see where exactly to draw the line.

<< previous thoughtnext thought >>