Я ищу лексику здесь. Существует несколько форм, которые имеют общие имена. Например, L a = Empty | Cons a L
Обычно называется "списком", тогда как T a = Leaf a | Node (T a) (T a)
является "двоичным деревом", а St s a :: St (s->(a,s))
является формой государственной монады.
Я хотел бы знать, имеет ли такая форма название:
data R a b = Q (a -> (R a b,b))
Я видел этот шаблон в структурах Arrow и State Machine. Рекурсивная функция делает ее немного похожей на государственную Монаду или Cont Monad. Это также единственная структура, кроме (->)
и (>=>)
, для которой я видел экземпляр Arrow.
Есть ли общее имя для этой структуры данных?