Точная терминология типов в Схеме - PullRequest
0 голосов
/ 20 февраля 2012

Я ищу стандартный документ о типах Схемы. Например, поскольку типы не нужно явно указывать в программе, я не знаю, что это bool или boolean; LIST или LISTE; int или Nat; List[] или List[alpha] ...

Другой небольшой вопрос - как определяется «атомное выражение». Например, '(1 2 3) атомное выражение?

Ответы [ 2 ]

5 голосов
/ 20 февраля 2012

Как вы указали, типы не нужно указывать явно.Следовательно, понятие типов в спецификации языка в значительной степени отсутствует.

Существуют некоторые языки, - вспоминается Typed Racket, - которые строят типизированный язык поверх (того, что раньше было) Scheme, и этиязыки определяют свои собственные типы.

Существуют также системы контрактов, которые присваивают имена классам значений.Опять же, я могу указать на Ракет в качестве примера этого, но я уверен, что есть похожие системы.

Если не говорить более конкретно, то нет общего ответа на ваш вопрос.

Термин «атомарный» обычно используется для обозначения значений, которые не являются «составными данными»;то есть значения, которые не содержат других значений.Список определенно не атомарный, а символ.

0 голосов
/ 20 февраля 2012

Здесь - руководство по стандартам для схемы MIT. В зависимости от того, какую схему вы используете, это может или не может быть тем, что вы ищете.

...