Описание тега reader-macro
None Способ программирования читателя Common Lisp
1
ответ
Как установить *readtable* на пустое значение в common-lisp?
Стандартный common-lisp определяет много макросов читателя, таких как ( а также ) для группировки, ' за quote, " для цитаты строки, | для котировки символов, # для отправки макроса и т. д. Теперь я хочу отключить их все и использовать свои собственн…
06 янв '14 в 07:49
1
ответ
Есть ли формальный способ предложения / обсуждения изменений в Clojure?
Есть ли формальный способ предложения / обсуждения изменений в Clojure?
17 июн '15 в 22:05
1
ответ
Как оценить код Лисп внутри макроса читателя?
Я пишу свой собственный ассемблер x86-64 в Common Lisp, и он производит правильный двоичный код для подмножества x86-64. Я использую пользовательский макрос для чтения, чтобы преобразовать ассемблерный код в синтаксическое дерево, и он работает как …
28 мар '14 в 20:48
1
ответ
Определите мой собственный макрос чтения
В Common Lisp есть некоторые макросы чтения, такие как ' #' #P, но как я могу написать прочитанный макрос? Как это: #T"hello world" ====================> (gettext "hello world")
26 фев '13 в 14:32
1
ответ
Common Lisp Hash-Dot #. Читатель Макро
Недавно я наткнулся на так называемый макрос для чтения хеш-точек Common Lisp и мне интересно, как он работает и что он делает. Использование поисковых систем не очень помогло, поэтому любые примеры, объяснения и особенно варианты использования прив…
14 фев '18 в 18:09
3
ответа
Обычный шут: есть ли менее болезненный способ ввода математических выражений?
Мне нравится общий язык, но иногда очень сложно вводить простые математические выражения, такие как a(8b^2+1)+4bc(4b^2+1) (Конечно, я могу преобразовать это, но это немного медленно, я сначала пишу (+ () ()), а затем в каждой скобке я ставлю (* () (…
12 авг '12 в 18:27
3
ответа
Какое преимущество имеют обычные макросы для читателей LISP, которых нет у Clojure?
Я недавно использовал Clojure, но до сих пор не понимаю, какую функциональность я не получаю, которую предоставляют обычные макросы для читателей lisp. Можете объяснить, объясните мне это простыми словами?
21 апр '11 в 16:09
2
ответа
Отладка макросов
Вот ситуация: CL-USER> [bookid] #<CLSQL-SYS:SQL-IDENT-ATTRIBUTE BOOKID> CL-USER> (sql-expression :attribute 'bookid) #<CLSQL-SYS:SQL-IDENT-ATTRIBUTE BOOKID> CL-USER> [books.bookid] #<CLSQL-SYS:SQL-IDENT-ATTRIBUTE BOOKS.BOOKID…
01 дек '12 в 02:26
2
ответа
Различия между Sharpsign Colon и Gensym
Я только что читал о макросе читателя двоеточия Sharpsign, и это звучало так, как будто он очень похож на gensym Sharpsign Colon: "вводит непереданный символ" Генсим: "Создает и возвращает свежий, не имеющий отношения символ" Итак, простой тест CL-U…
02 фев '15 в 09:35
2
ответа
Как заставить Common Lisp трактовать цифры как имена символов?
Надеюсь эти коды (12 3.5 1e4) можно рассматривать как три символа (|12| |3.5| |1e4|) а не три числа. Могу ли я выполнить это, установив читатель? Обновить: У меня есть коллекция данных, которая организована как вложенные списки: (abc,d/e-f 12ab, 21e…
11 янв '14 в 16:55
1
ответ
Создание читаемой таблицы с отключенным макросом диспетчера чтения
Я создаю новый язык, основанный на Racket, и я не хочу определенных #x макросы для работы, такие как синтаксическая кавычка #', Как мне удалить это так, чтобы #' не делает синтаксическую кавычку, но делает то, что делает несвязанный макро-символ отп…
12 мар '14 в 03:35
2
ответа
Почему расширения макроса читателей не распространяются во время выполнения (чтение)?
Почему следующее не работает? ;;;; foo.lisp (in-package :cl-user) (eval-when (:compile-toplevel :load-toplevel :execute) (require :cl-interpol)) (cl-interpol:enable-interpol-syntax) (defun read-and-eval (s) (eval (read-from-string s))) (cl-interpol:…
02 сен '13 в 13:53
1
ответ
В чем разница между set-macro-symbol и set-dispatch-macro-symbol?
Из сигнатур этих функций очевидное отличие состоит в том, что set-macro-character позволяет установить функцию чтения макроса для одного символа, и set-dispatch-macro-character позволяет установить его для любой комбинации из двух символов. Это един…
15 янв '19 в 13:29
2
ответа
Что означает #+: и #-: в общих словах
Сегодня я читаю код cl-fad/load.lisp и обнаружил символы #+: а также #-: в начале выражения или строки. Что означают эти символы?
23 окт '16 в 02:33
1
ответ
Прочитать ввод в строку в макросе читателя Lisp
Я пытаюсь сделать макрос для чтения, который конвертирует @this в "this". Вот что у меня сейчас есть: (defun string-reader (stream char) (declare (ignore char)) (format nil "\"~a\"" (read-line stream t nil t)) ) (set-macro-character #\@ #'string-rea…
19 июн '15 в 16:20
2
ответа
Что означает "#+" в коде cl-mysql?
Недавно я попытался прочитать код о cl-mysql, но застрял с #+, Пытался гуглить, но не работает, поэтому перейдите сюда (defun make-lock (name) #+sb-thread (sb-thread:make-mutex :name name) #+ecl (mp:make-lock :name name) #+armedbear (ext:make-thread…
03 май '16 в 07:25
3
ответа
Литерал функции Clojure с макросом "rest arguments" после макроса "discard"
Мне нужен литерал функции в Clojure, который может принимать любое количество аргументов, но на самом деле их не использует. Итак, я обнаружил %& ('rest arg' для функционального литерала) и #_ Макрос считывателя 'discard'. Но как они работают вм…
16 мар '17 в 16:51
1
ответ
Управление макросами читателя в Common Lisp
Я хочу определить макросы читателей таким образом, чтобы они влияли только на определенный пакет / файл. До сих пор я был в состоянии загрузить эти файлы с (let ((*readtable* (copy-readtable))) (load "file.lisp")) Есть ли лучший способ сделать это?
21 янв '12 в 03:02
2
ответа
Оператор #+ и #- в.sbclrc
Кто-нибудь знает, что #+ а также #- операторы означает в .sbclrc? Я не мог найти это в руководстве. я вижу #- в .sbclrc после того, как я установил QuickLisp: #-quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pa…
28 дек '11 в 04:00
1
ответ
Необходимость цитаты в On Lisp's #[ read macro?
Я читаю на Лиспе и не могу понять, почему в приведенном ниже коде используется кавычка. Вот выдержка из текста: Другая комбинация символов, зарезервированная для пользователя, это # [. На рисунке 17.3 приведен пример того, как этот символ может бы…
27 апр '14 в 08:29