Hacker News new | ask | show | jobs
by brzozowski 1934 days ago
The author frames this as a contest between two architectures: either spend a lot of effort building custom developer tools, or repurpose the compiler as a server for multiple clients. Both approaches have their tradeoffs: the first, as the author mentions, violates DRY [1]. The second violates the Unix philosophy [2].

However, there is a third way. Both developer tools and compilers can be seen as special cases of a much simpler and more general pattern known as a graph database [3, 4, 5].

[1]: https://en.wikipedia.org/wiki/Don%27t_repeat_yourself

[2]: https://en.wikipedia.org/wiki/Unix_philosophy

[3]: https://www.youtube.com/watch?v=WxyyJyB_Ssc

[4]: https://petevilter.me/post/datalog-typechecking/

[5]: https://arxiv.org/pdf/2004.03082.pdf