packages feed

disco-0.1.0.0: lib/container.disco

using NoStdLib

import list
import product

reducebag : (a × a → a) × a × Bag(a) → a
reducebag(f,z,b) = foldr(f,z,list(b))

reduceset : (a × a → a) × a × Set(a) → a
reduceset(f,z,s) = foldr(f,z,list(s))

unions : Set(Set(a)) → Set(a)
unions(ss) = foldr(~∪~, {}, list(ss))