Как написать SortedMap K (Может быть, V) -> SortedMap KV? - PullRequest
1 голос
/ 05 мая 2019

Есть ли простой способ перейти от SortedMap k (Maybe v) к SortedMap k v, не переходя в список и обратно?Nothings должны быть удалены, а Justs должны быть сохранены.

1 Ответ

2 голосов
/ 09 мая 2019

Я так не думаю, поскольку SortedMap не раскрывает свои конструкторы (это только export определение верхнего уровня).Судя по API, кажется, что преобразование в список и обратно - путь.

export
data SortedMap : Type -> Type -> Type where
  Empty : Ord k => SortedMap k v
  M : (o : Ord k) => (n:Nat) -> Tree n k v o -> SortedMap k v
...