Я ищу здесь лексику. Существует несколько форм, которые имеют общие имена. Например, L a = Empty | Cons a L
Обычно называется «списком», а T a = Leaf a | Node (T a) (T a)
является «двоичным деревом» и St s a :: St (s->(a,s))
является формой государственной монады.Название типа шаблона: R a b = Q (a -> (R a b, b))
Я хотел бы знать, если форма, как это имеет имя:
data R a b = Q (a -> (R a b,b))
Я видел эту картину в рамках Arrow и реализации государственной машины. Рекурсивная функция делает ее немного похожей на государственную Монаду или Cont Monad. Это также единственная структура, кроме (->)
и (>=>)
, для которой я видел экземпляр Arrow.
Общее название этой структуры данных?
У вас есть дерево бонсай :). Лучшим бинарным деревом является 'T a = Branch (T a) (T a) | Лист a' – amindfv
@amindfy: Вы правы. Я исправил это. Спасибо. –
@ JohnF.Miller, не хотите ли вы хранить какие-то «а» где-то в этом 'T a'? : D (извините ... мне пришлось ...) (или, может быть, это фантомный тип !?: p) – Ptival