3 ms·
Did they preserve the s-expr structures in the C++ version? PostgreSQL was once a collection of C modules called from Common Lisp. Debugging the cross-languag
by bayareaguy 19y ago
Did they preserve the s-expr structures in the C++ version?
PostgreSQL was once a collection of C modules called from Common Lisp. Debugging the cross-language implementation proved too difficult so it was ported entirely to C using tools which mostly moved the parens around. Some lisp structures live on inside it to this day.
- pg 19y agoYes, in the C++ version the s-expressions are stored on disk exactly as they were before. The C++ version literally reads a file of Lisp code and executes it. As an instance of Greenspun's tenth rule, it's hard to beat. The original Lisp version was actually running till last fall. When they introduced the C++ version you had to explicitly choose to "upgrade." There were some users, including me, who hadn't. Finally last fall they called me and told me they were going to move us to the C++ version. It's barely different.