Hacker News new | ask | show | jobs
by coddle-hark 1990 days ago
I think map[T]bool is already a pretty good set; the only things you can do with sets are insertion, deletion, iteration and checking for existence and they're all well-supported.

Of course, if you need a concurrent set you're right back in type system hell.

1 comments

You can’t write intersection, union, difference, subset (contains all), or powerset as reusable functions for any element type. The idiomatic thing for now is to rewrite them as loops over and over, but that’s error prone, hard to read, and not a good use of time.
This was the exact issue I hit. There are set libraries for Go, but they only handle standard types. The for loops got old quick.