Описание тега 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
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