Для 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, в лучшем случае является вопиющее упрощение.