Вопросы по теме 's-expression'

В чем недостаток списка как представления универсального типа данных?
Программисты на Лиспе склонны использовать списки для представления всех других типов данных. Однако я слышал, что списки не являются хорошим универсальным представлением типов данных. Каковы недостатки использования списков таким образом по...
926 просмотров

Emacs: как оценить наименьшее s-выражение, в котором находится курсор, или следующее s-выражение
Как правильно оценить часть (+ 100 (+ 100 100)) в (+ (+ 1 2) (+ 100 (+ 100 100))) ? На данный момент я делаю это C-x C-e, что означает, что мне нужно найти конечную скобку, что в большинстве случаев сложно. Options > Paren Matching...
537 просмотров
schedule 18.05.2022

(Пролог) Преобразование s-выражений Лиспа в термины Пролога
Я написал синтаксический анализатор на Прологе, который принимает токенизированный список и должен возвращать выражение, в котором переменная объединена со значением оцениваемого уравнения: Tokens = ['(', is, v('X',3),'(', +, 1, 2, ')', ')' ] Expr...
405 просмотров
schedule 18.05.2022

Какие преимущества есть у обычных макросов для чтения lisp, которых нет у Clojure?
В последнее время я много использую Clojure, но я до сих пор не понимаю, какую функциональность я не получаю, которую предоставляют общие макросы для чтения lisp. Может объясните объяснить это мне в простых терминах?
1978 просмотров

Emacs: пуленепробиваемый ап-лист?
Я получаю up-list: Scan error: "Unbalanced parentheses" из этой позиции: (foo "bar|") Фрагмент из up-list документа: Эта команда предполагает, что точка не находится в строке или комментарии. Итак, это ожидаемое поведение. Но...
220 просмотров
schedule 16.08.2022

вывод вложенного словаря из pyparsing
Я использую pyparsing для анализа выражения вида: "and(or(eq(x,1), eq(x,2)), eq(y,3))" Мой тестовый код выглядит так: from pyparsing import Word, alphanums, Literal, Forward, Suppress, ZeroOrMore, CaselessLiteral, Group field =...
2176 просмотров
schedule 10.01.2023

Рекурсивный анализ списка в Erlang
Я играю с Erlang и пытаюсь написать парсер S-выражения. Я считаю, что это простая задача в Python с использованием стеков и циклов, но это нетривиально для меня, как новичка в неизменяемых переменных и структурах данных Erlang. Мне нужно...
387 просмотров
schedule 28.01.2023

Разобрать строку с чтением и игнорированием пространств имен пакетов
Я пишу программу, которая открывает файл lisp, вызывает «чтение» в потоке до тех пор, пока поток не станет пустым, и выполняет действия со списками, которые он собирает. Это работало довольно хорошо, пока я не обнаружил, что «чтение» будет...
82 просмотров
schedule 06.07.2023

Визуализируйте s-выражения в режиме реального времени
Я хочу написать код Lisp/Scheme/Clojure, подобный этому (map inc (range 0 5)) И визуализируйте это примерно так map -- inc \\ range -- 0 \ -- 5 Я хочу видеть, как дерево меняется в реальном...
599 просмотров