Описание тега metacircular
Метациклический интерпретатор — это языковой интерпретатор, который интерпретирует код или функции на том же языке, на котором он написан, например, интерпретатор, написанный на Lisp, который интерпретирует код Lisp.
1
ответ
Как бы вы абстрагировали шаблон в этой паре "похожих по форме" типов данных?
Общий вопрос У меня есть пара типов данных, которые представляют собой два разных способа представления одной и той же вещи: один записывает имя переменной в String, а другой записывает имя переменной в Int. В настоящее время они оба определены. Тем…
28 янв '14 в 00:53
4
ответа
Aval Kay's Eval/ Применить момент Эйнштейна
Алан Кей сказал, что внимательное изучение кода и поиск единственной ошибки в коде на странице 13 руководства по Lisp 1.5 помогли ему понять компьютерные науки в 100 раз лучше. Данный код является первым выпуском eval & apply что-то отдаленно похоже…
19 янв '16 в 22:33
1
ответ
Концепция метакруглого оценщика
Я пытаюсь понять концепцию мета-циклического оценщика. Согласно Википедии В вычислениях мета-циклический оценщик или мета-циклический интерпретатор является интерпретатором, который определяет каждую особенность интерпретируемого языка с использован…
16 апр '18 в 16:57
2
ответа
Почему я могу определить новый cond, и Scheme не запутается с моим новым cond из-за условного cond?
У меня есть эта задача, где я работаю с метациклическим оценщиком, и я определяю новый cond как это: (define cond 3) Так же как else: (define (else x) (/ x 2) Мой вопрос: почему это (ниже) на самом деле работает? (cond ((= cond 2) 0) (else (else 4))…
10 май '17 в 13:36
2
ответа
Функция сопоставления с образцом в Scheta Meta Circular Evaluator
Я пытаюсь добавить функцию сопоставления с образцом в существующую схему мета круговой оценки (это домашнее задание), и я немного растерялся в формулировках инструкций. Я надеялся, что кто-то более опытный в этом отношении сможет помочь мне интерпре…
25 фев '15 в 19:16
2
ответа
Метациркулярный оценщик, внедряющий среду
Я пытаюсь внедрить Metacircular Evaluator в Scheme в соответствии с известной книгой Гарольда Абельсона и Джеральда Джея Суссмана "Структура и интерпретация компьютерных программ". http://mitpress.mit.edu/sicp/full-text/sicp/book/node79.html, http:/…
16 мар '12 в 16:58
1
ответ
Метациклический оценщик
Я должен написать схему со схемой.. тихо смешно, но это ситуация. В любом случае, вот пример для попытки написать выражение "лямбда" со всеми proucedors, которые я могу использовать, и мне также нужна помощь в написании выражения "Let". Как я могу п…
16 фев '11 в 09:32
1
ответ
Попытка вызвать несвязанный fn, пока я его определил
Я пытаюсь преобразовать мета-циркулярный оценщик SICP в Clojure. В setup-environment вызов extend-environment не компилируется, потому что я получаю сообщение об ошибке "Попытка вызова несвязанного FN". Вот часть кода: (... loads of methods for crea…
05 апр '16 в 22:24
1
ответ
Что такое мета-круговой переводчик
Может кто-нибудь объяснить мне, что такое мета-круговой интерпретатор? Определение в Википедии: Метакруглый оценщик - это особый случай самоинтерпретатора, в котором существующие возможности родительского интерпретатора напрямую применяются к интерп…
23 май '12 в 15:19
1
ответ
Есть ли мета-циркулярная реализация CLR с открытым исходным кодом?
Есть ли открытая мета-циркулярная реализация.Net CLR? Я знаю, что MONO не полностью написан на C#, поэтому я искал какой-то проект с открытым исходным кодом, который полностью реализует.Net CLR на C# (что-то вроде Maxine для JVM), чтобы лучше понять…
05 май '12 в 16:44
1
ответ
Как загрузить интерпретатор Lisp с помощью метациркуляционного оценщика
Я реализую интерпретатор Lisp в чистом C и у меня возникают проблемы при переходе с C на Lisp. Следуя шагам Питера Норвига в своем блоге, у меня есть REPL, который до сих пор анализирует выражения Lisp в структурах данных Lisp и сериализует полученн…
07 сен '17 в 05:51
2
ответа
Метациркулярный оценщик Схемы в Dr. Racket
Когда я пытаюсь запустить оценщик в Dr. Racket, он показывает ошибку: "Язык модулей: в окне определений может быть только одно выражение". Очевидно, в этом окне есть несколько определений, у оценщика есть несколько определений, так как я могу запуст…
30 окт '13 в 06:24
1
ответ
Metacircular Interpreter while loop в схеме
Почему этот цикл while не работает для метациклического интерпретатора. Как мне запустить это в моем окне взаимодействия? ((while? exp) (eval (while->combination exp) env)) (define (while-condition expr) (cadr expr)) (define (while-body expr) (ca…
24 мар '14 в 18:35
3
ответа
Добавление примитивов в метациркулярный оценщик
Я работаю над метациркулярным оценщиком и пытаюсь добавить примитивные процедуры. Я почти закончил, за исключением того, что не знаю, как добавить ошибку. Вот что у меня есть на данный момент: (define primitive-procedures (list (list 'car car) (list…
05 фев '20 в 00:45
1
ответ
Есть ли метациркулярный оценщик SICP, который реализует call-with-current-continue?
Источник метациркульного оценщика SICP можно найти по адресу https://mitpress.mit.edu/sites/default/files/sicp/code/ch4-mceval.scm Кто-нибудь знает о mceval, который включает реализацию call-with-current-continue?
10 авг '20 в 21:07
3
ответа
Как реализовать мета-круговой анализатор для синтаксического анализа `[1..10]` в JavaScript?
Я хочу реализовать мета-круговой оценщик на JS с поддержкой функционального программирования. Как я могу это разобрать? [1..10] Я хочу получить 1 и 10
13 июн '20 в 05:16
0
ответов
Как настроена машина! изменить мою среду закрытия?
Я пишу метациклический интерпретатор и пытаюсь реализовать замыкания. У меня есть функция make-lambda, которая осуществляет замыкание: (define (make-lambda parameters body env) (list 'lambda parameters body env) ) И функция, которая обрабатывает опр…
04 ноя '23 в 22:14
0
ответов
Как можно определить Лисп в терминах y-комбинатора?
Я смотрю лекцию SICP 7A и пытаюсь понять «Определить Lisp как Y-комбинатор (время 1:16:15)» Думаю, я понял, что (вычисление экспоненты числа типа x^n) можно выразить через Y-комбинатор и лямбду. Если я прав, я могу думать об этом уравнении как о рек…
15 ноя '23 в 02:03