Nov 20, 2009 14:47
А можно ли сделать пакет по свойствам похожий на пакет keyword?
Так, чтобы получилось, что наш пакет содержит любой символ и значением любого символа из этого пакета было бы, скажем, строковое представление этого символа?
> (symbol-value (ourpackage:any_symbol))
"any_symbol"
Leave a comment
Comments 20
Reply
а теперь, как принято гойворить на канале #lisp, расскажите нам что же Вы на самом деле пытаетесь сделать. :)
Reply
Reply
Reply
Потенциально система пакетов, это все то же ооп, кроме возможности создать экземпляр пакета :)
Reply
> (symbol-value (ourpackage:any_symbol))
а
> (symbol-value ourpackage:any_symbol)
а, во-вторых, как верно подмечено, это можно сделать только на уровне макросов чтения (поскольку, по большому счету, : -- это и есть макрос чтения), так что можно так:
> (symbol-value #^any_symbol)
"any_symbol"
:
CL-USER> (defpackage :strword)
#
CL-USER> (set-dispatch-macro-character ( ... )
Reply
Reply
Reply
Почему?:)
константы keyword ведь занимают только value cell символа
функции с именами-символами-из-keyword, вроде бы, никто определять не запрещает
Reply
Reply
Leave a comment