В письменных естественных языках знак - часто используется как способ составления слов.Например, на немецком языке мы сочиняем немецкие существительные, просто добавляя их:
Hofbräuhaus
Выше мы состоим из трех частей: Hof bräu haus.
Но когда мы пишем понятия на немецком языке, которые имеют иностранные имена каксо своей стороны мы пишем их так:
Mubarak-Regime
В естественных языках не принято составлять слова CamelCase или Under_Score.
Дизайн большинства Лиспов был более ориентирован на лингвистическую традицию,В некоторых языках было принято соглашение использовать подчеркивание, потому что в этих языках знак «-» уже был принят для операции «минус», а идентификаторы тезисов не позволяли включать знак.Знак - является символом окончания идентификатора в этих языках.Не в Lisp.
Обратите внимание, что можно использовать подчеркивание в идентификаторах Lisp, хотя это редко используется в коде по эстетическим соображениям.
Можно также использовать каждый символ в идентификаторе.Вертикальная черта заключает в себе произвольный символ:
|this *@^! symbol is valid - why is that po_ss_ib_le?|
> (defun |this *@^! symbol is valid - why is that po_ss_ib_le?| (|what? really?|)
(+ |what? really?| 42))
|this *@^! symbol is valid - why is that po_ss_ib_le?|
> (|this *@^! symbol is valid - why is that po_ss_ib_le?| 42)
84
Обратите внимание, что обратный слеш является escape-символом в именах символов.