Considering all the supply chain dependencies lately I've been building a collection of C89 libraries to make zero dependency stuff. For fun I have also been programming it in latin! Still very much in progress.
Back in the '80s, before AI could quickly produce such things, I had created a "Greek" version of the C language -- obviously named "Γ".
A lot of preprocessor definitions were involved for keyword translation, as one can imagine. Translating the C standard library was a much more difficult process: it involved patching the compiler/linker on a BSD system, since you could not have non-ASCII symbols (function entry points).
Very impressive - there is a lot of work here! But why? They explain it
in docs/latina.h.md |
In include/latina.h, they use the C preprocessor to redefine the C
keywords in Latin. Also, many numeric constants -- instead of 4096 you
write MMMMXCVI.
The other files in docs explain each library routine in English, but
the code samples are in Latin. The source files - a lot of them! -
are in include and lib. The code is all in Latin, including the
error messages and comments.
I like this project, because it's fundamentally insane. I really enjoyed reading your CLAUDE.md and related documents, as someone with a religious philosophy background, it was a really wild ride and I am now very curious about how Claude feels going through the onboarding process. You're essentially "breaking the brain" of Claude and then having it work on your code. Do you have Claude also read show_bible.md?
I wouldn't necessarily recommend the latin part to everyone but I think writing your own standard libraries in C is a lot more accessible these days and owning your whole stack is very powerful.
Kind of inspired by Eskil Steenberg, he has a lot of good talks on writing your own C89 libraries.
Back in the '80s, before AI could quickly produce such things, I had created a "Greek" version of the C language -- obviously named "Γ".
A lot of preprocessor definitions were involved for keyword translation, as one can imagine. Translating the C standard library was a much more difficult process: it involved patching the compiler/linker on a BSD system, since you could not have non-ASCII symbols (function entry points).
reply