"all the functions have strange names", very strange. Most names in CL standard are self-explanatory, such as DEF*, DEFINE-, MAKE-. Others have well-known history or legends or rules. Few are difficult, such as PRIN1 (still have meaning, think about PRIN2)
unixlisp
joined 11 months ago
PROG1, PROG2, ..., PROGN very ruleful. N reminds you returning the last value. On the other hand, PROG means "Program Feature". PROGN is really a good name.
"They are so inconsistent". Different data structures have different operations. Specific operators are accurate and efficient. The costs are that you have to remember/command all these operators. A similarity is the equality operator. EQUALP is most generic. But you mostly use EQ, EQL, CHAR=, STRING=, etc. for specific objects.