Logo

Programming-Idioms

  • Pascal
  • Haskell

Idiom #118 List to set

Create the set y from the list x.
x may contain duplicates. y is unordered and has no repeated values.

Turning the list [a,b,c,b] into the set {c,a,b}
import qualified Data.Set as Set
y = Set.fromList x
for i := Low(X) to High(X) do Include(Y,X[i]);

Sets never have repeated values in Pascal. Adding a value that already is in the set leaves the set unchanged (and does not raise any error).
(def y (set x))

New implementation...