Low-level Code

Blog posts about the successor to C/C++ are popular now. However I would prefer to continue to use C/C++ just long enough to implement a better language, in my case ISLisp. So this post isn't about using some new programming language, but about how to harden the core code of Easy-ISLisp. After some discussion with the project maintainer, I think I have reached the exact same conclusion as when I was playing with OpenCOMAL.

I spent some time considering Embedded C++. There were some benefits, especially the first-class string support. However, this introduces a high risk that future changes would go beyond the "Embedded" subset, reducing maintainability by volunteers.

Embedded C++

So we're back at C, and standard UNIX libraries like curses (no need to cater for Win32). Cii (e.g. for the C++ features I miss) and Nana proved useful in the past, so they could be integrated too in the medium term. This is pretty-much the exact design I ended up with for OpenCOMAL. So there must be something to it. The difference is, ISLisp is a far more modern programming language than COMAL (or is it more that Lisp is timeless ...).

Nana

C Interfaces and Implementations

Back to my gemlog