From fa3c016ad6e51d9bec120a770a7a7d6b2be75007 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 21 Sep 2025 15:54:05 -0400 Subject: More deprecations of set docs stuff --- docs/sets.md | 78 ------------------------------------------------------------ 1 file changed, 78 deletions(-) delete mode 100644 docs/sets.md (limited to 'docs') diff --git a/docs/sets.md b/docs/sets.md deleted file mode 100644 index c8d67fc4..00000000 --- a/docs/sets.md +++ /dev/null @@ -1,78 +0,0 @@ -# Sets - -Sets represent an unordered collection of unique elements. These are -implemented using hash tables. - -```tomo -a := |10, 20, 30| -b := |20, 30| ->> a.overlap(b) -= |20| -``` - -## Syntax - -Sets are written using `|...|` vertical pipes with comma-separated items: - -```tomo -nums := |10, 20, 30| -``` - -Empty sets must specify the set type explicitly: - -```tomo -empty : |Int| = || -``` - -For type annotations, a set that holds items with type `T` is written as `|T|`. - -### Comprehensions - -Similar to lists, sets can use comprehensions: - -```tomo -set := |10*i for i in 10| -set2 := |10*i for i in 10 if i mod 2 == 0| -set3 := |-10, 10*i for i in 10| -``` - -## Accessing Items - -Sets internally store their items in a list, which you can access with the -`.items` field. This is a constant-time operation that produces an immutable -view: - -```tomo -set := |10, 20, 30| ->> set.items -= [10, 20, 30] -``` - -## Length - -Set length can be accessed by the `.length` field: - -```tomo ->> |10, 20, 30|.length -= 3 -``` - -## Iteration - -You can iterate over the items in a table like this: - -```tomo -for item in set - ... - -for i, item in set - ... -``` - -Set iteration operates over the value of the set when the loop began, so -modifying the set during iteration is safe and will not result in the loop -iterating over any of the new values. - -# API - -[API documentation](../api/sets.md) -- cgit v1.2.3