💾 Archived View for republic.circumlunar.space › users › dbane › gemlog › 2021-07-14.gmi captured on 2023-01-29 at 04:27:10. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2022-03-01)

-=-=-=-=-=-=-

COBOL-in-Lisp

The Easy-ISLisp core interpreter and compiler seem remarkably stable these days, so I tried something different.

My first paid job was, among other things, writing COBOL for a bank. This sounds worse than it is. I still think COBOL (probably with embedded SQL) is the best choice for such traditional data processing systems. Lisp is supposed to be flexible, right? So I tried to do what would be a toy COBOL example in it, a phone book.

GNU COBOL, a recommended compiler

Simple phone book app

I'm reasonably happy with the results. I did something like the AT&T menu & forms "curses" libraries equivalent to the "SCREEN SECTION". And I used UNIX dbm for something like indexed file support. The latter is somewhat interesting, I tried to get close to Postmodern's semi-transparent persistence feature. This is because I have fond memories of playing with genesis/ColdCore years ago, which is a persistent environment.

dbm man page

Postmodern, a SQL library for CL

Current home of genesis/ColdCore

Honestly, if I was coding a system like this for real I'd still probably prefer COBOL. But it's interesting how easily Lisp can get 80% of the way there, and this would be invaluable in a situation where you were doing things *other than* data processing, which COBOL would likely be bad at.

Back to my gemlog