Сколько форм syntacti c имеет Haskell? - PullRequest
5 голосов
/ 22 апреля 2020

Мастер Норвиг однажды сказал:

Прелесть Схемы в том, что для полного языка нужно всего 5 ключевых слов и 8 форм syntacti c. Для сравнения, Python имеет 33 ключевых слова и 110 форм syntacti c, а Java имеет 50 ключевых слов и 133 формы syntacti c. Все эти скобки могут показаться пугающими, но синтаксис Схемы обладает достоинствами простоты и последовательности. (Некоторые шутят, что «Лисп» означает «много раздражающих глупых скобок»; я думаю, что это означает «Лисп синтаксически чист».)

Так как же сравнить Haskell? 1007 *

1 Ответ

3 голосов
/ 23 апреля 2020

Для Haskell 98, вероятно, примерно того же порядка, что и Python или Java.

Трудно точно определить, что составляет "форму syntacti c". Похоже, что число Java, например, могло быть взято из числа расширенных правил BNF на уровне выражения и выше (т. Е. На уровне, где «идентификатором» является атом), как на this Java Страница синтаксиса SE , где указано около 120 или около того. Это также, похоже, согласуется с этой страницей на Схеме , где я бы насчитал около 14, игнорируя правила, которые, кажется, полностью связаны с лексической структурой идентификаторов и литералов. Здесь мы работаем с аппроксимациями, где 8 и 14 должны считаться равными.

Итак, по этому метри c, мой быстрый и грязный счет из раздела отчета Haskell 98 9.5 Синтаксис без контекста ( который, кажется, находится примерно на том же уровне абстракции, что и ссылка Java) 76. Опять же, мы работаем с аппроксимациями, где 76, 110 и 133 должны считаться равными, поэтому Haskell == Python == Java.

Можно также с уверенностью сказать, что, согласно комментариям, синтаксис GH C speci c (прагмы, примитивы и многие, многие расширения) легко удваивается или утраивается этот счет.

Несмотря на это, я не уверен, насколько полезен этот показатель c. Я не оспариваю утверждение, что Scheme - прекрасный язык, но я думаю, что утверждение, что Scheme - прекрасный язык, потому что (или главным образом потому, что) имеет небольшое количество ключевых слов и форм syntacti c, в лучшем случае является вопиющее упрощение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...