Я ищу лексику здесь. Существует несколько форм, которые имеют общие имена. Например, 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.
Есть ли общее имя для этой структуры данных?