Мой вопрос касается классов типов Applicative и Monad, с одной стороны, и контекстно-свободных и контекстно-зависимых уровней грамматики иерархии Хомского, с другой.
Я слышал, что существует соответствие между классами типов и уровнями грамматики. Насколько точно это соответствие?
То есть, могут ли все контекстно-свободные грамматики быть проанализированы, не используя ничего более сильного, чем Applicative комбинаторы, и все ли грамматики, которые могут быть проанализированы, не используя ничего более сильного, чем Applicative комбинаторы, контекстно-свободными? Другими словами, точно ли класс типа Applicative соответствует контекстно-свободным грамматикам?
И тот же вопрос, за исключением того, что «контекстно-свободный» заменен на «контекстно-зависимый» и «Аппликативный» - от Monad.
Разъяснение о награде: соответствуют ли классы типов грамматическим уровням? Например, существует ли набор классов типов, которые обеспечивают все операции, необходимые для регулярных языков выражений, и не более того?
Мотивация вопроса заключается в том, что я работал над синтаксическим анализатором и хотел определить, на каком уровне грамматики находилась моя реализация, на основе комбинаторов, которые я использовал. Это возможно?
Applicative
сам по себе не продвинется далеко, так как вы не можете ни возвращаться, ни выбирать продукцию на основе ввода. Типичный API комбинатора синтаксического анализатора опирается наAlternative
вместе сApplicative
. - person C. A. McCann   schedule 17.05.2013Alternative
соответствует ли обычным грамматикам? Я хотел добавить это, но не знал, что делать с ограничениемApplicative
. Есть ли другие классы типов, соответствующие обычным грамматикам? - person Matt Fenwick   schedule 17.05.2013Monad
выражать причинно-следственные связи, которыеApplicative
не могут, потому что я не понимаю, как какие-либо естественные ограничения (т. Е. Не придуманные для этой цели) комбинаторов синтаксического анализатора даст возможность определять только менее выразительные грамматики. - person C. A. McCann   schedule 17.05.2013