Skip to content

Commit a7264aa

Browse files
committed
Update docs
1 parent a6d7232 commit a7264aa

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/elixir/pages/references/gradual-set-theoretic-types.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Elixir is in the process of incorporating set-theoretic types into the compiler.
66

77
* **gradual** - Elixir's type system includes the `dynamic()` type, which can be used when the type of a varible or expression is checked at runtime. In the absense of `dynamic()`, Elixir's type system behaves as a static one
88

9-
* **set-theoretic** - the types are described, implemented, and composed using basic set operations: unions, intersections, and negation
9+
* **developer friendly** - the types are described, implemented, and composed using basic set operations: unions, intersections, and negation (hence it is a set-theoretic type system)
1010

1111
The current milestone aims to infer types from patterns and guards and use them to type check programs, enabling the Elixir compiler to find faults and bugs in codebases without requiring changes to existing software. User provided type signatures are planned for future releases. The underlying principles, theory, and roadmap of our work have been outlined in ["The Design Principles of the Elixir Type System" by Giuseppe Castagna, Guillaume Duboc, José Valim](https://arxiv.org/abs/2306.06391).
1212

@@ -28,7 +28,7 @@ At the moment, Elixir developers interact with set-theoretic types through warni
2828

2929
## Set operations
3030

31-
We compose set-theoretic types by using set operations (hence the name). For example, to say a function returns either atoms or integers, one could write: `atom() or integer()`.
31+
We compose types by using set operations. For example, to say a function returns either atoms or integers, one could write: `atom() or integer()`.
3232

3333
Intersections are available via the `and` operator, such as `atom() and integer()`, which in this case it becomes the empty set `none()`. `term()` is the union of all types, also known as the "top" type.
3434

0 commit comments

Comments
 (0)