Я ищу словарный запас здесь. Есть ряд фигур, которые имеют общие названия. Например, 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. Рекурсивная функция заставляет ее чувствовать себя как государственная монада или конт монада. Это также единственная структура, кроме (->)
и (>=>)
, для которой я видел определенный экземпляр Arrow.
Есть ли общее название для этой структуры данных?