I just finished adding another mid-end to my Apple JIT compiler, motivated to get rank facilities right. However, there remain significant shortfalls.
I implemented the Apple array system with the aim of tidying up some of the shortcomings of J, with which I am familiar.
Compilers and linkers put their own version information in ELF binaries; we can inspect
with readelf on the .comment section, to wit:
One PL nihilism is "all languages are the same." This is not so—general-purpose languages have converged on procedures, but languages that differ nontrivially are used in computing.
Universal ctags points the cursor to
line numbers rather than the actual definition (as language servers do). Vim
uses ex (:h Ex-mode) commands as destinations.
We want to generate call cursor(line,col) for each identifier.