Here's the latest on that LIB-file hoo-hah (I had dared to use the .lib file extension for my own purposes).
That file extension has been dropped. I still use quite a few that will doubtless clash with other others associated with things that I'm never going to use, but that's too bad.
(What do other people do about choosing file extensions? Do they not bother, Unix-style? Or do they end up with longer and more obscure ones to avoid any possible conflicts?)
Anyway here are mine, as used in my current suite of language-related programs:
.m M systems language source file
.q Q dynamic scripting language source file
.ma Source/support files for whole M program
.qa Source/support files for whole Q program
.pcl Source for my IL when rendered as text
.asm Source for x64 code when rendered as text in my syntax
.mx My private executable binary format
.ml My private dynamic library format
(So .lib
is replaced by two different extensions, as the two kinds do different jobs, reflecting .exe
and .dll
. And yes I know there is a famous language called ML; I don't care.)
Note: A Program here is a complete executable or library normally contained within a single .exe
or .dll
file.
Then, all my own languages use whole-Program compilers, interpreters, assemblers or processors, and all output files represent a whole Program.
.ma/.qa
files are generated by a special option on the respective compiler/interpreter. They can be both input and output files.