April 2017
Intermediate to advanced
316 pages
9h 33m
English
In computer science, a Semigroup is an algebraic structure that has a set and a binary operation that takes two elements in the set and returns a Semigroup that has an associative operation. An associative operation is a binary operation that has a valid rule of replacement or transformation for expressions.
To start, we need to have a set and a specific binary operation, or we can make this behavior generic and define a protocol as follows:
protocol Semigroup { func operation(_ element: Self) -> Self }
Any type that conforms to this protocol requires us to implement the operation method. Here, self presents the type that is conforming to this protocol. For instance, we can extend Int to conform to the Semigroup protocol and ...
Read now
Unlock full access