3 ms·
Common Lisp certainly has plenty of warts, and the author is not the first person to attempt a rationalization. The problem with any such thing is getting peop
by ScottBurson 10y ago
Common Lisp certainly has plenty of warts, and the author is not the first person to attempt a rationalization.
The problem with any such thing is getting people to use it. Experienced CLers have already learned how to spell 'makunbound' [0] and that the argument order of 'gethash' and 'assoc' is inconsistent with that of 'aref', and that '+', while generic in a sense, is not a CLOS generic function (you can't add methods to it), etc. etc. etc. So it's going to be a tough sell to these people (myself included).
Your real audience is newcomers to the language. But to appeal to them you need excellent documentation including substantial tutorial material, at least as good as what already exists for CL itself. That's a massive effort on top of the effort of just designing the rationalization.
And then you have a third problem. While implementing your rationalization on top of CL using the package system -- so as to be able to use existing CL libraries -- is the obvious approach, the fact remains, all those existing libraries are written in standard CL rather than in your dialect. So once a newcomer learns your dialect, if they want to read or modify any of those libraries, they will still have to get some familiarity with existing CL.
I'm not saying it's impossible, but boy it seems like a tough mountain to climb.
[0] Randomly omitting letters was a bit of a thing in the old days; consider 'creat' and 'umount', from a different tradition altogether.