Skip to content

Commit adf481b

Browse files
committed
The grateful guest README.md section.
1 parent f2104fe commit adf481b

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
- [How to run unit tests](#installation-how-to-run-unit-tests)
1313
- [How to run performance tests](#installation-how-to-run-performance-tests)
1414
* [Overview](#overview)
15+
- [The grateful guest](#overview-the-grateful-guest)
1516
- [The overpowered `BinaryInteger`](#overview-the-overpowered-binary-integer)
1617
- [The `Fallible<T>` redemption arc](#overview-the-fallible-redemption-arc)
1718

@@ -93,6 +94,19 @@ This setup enables optimizations and omits unrelated metrics. These steps are cr
9394

9495
## Overview
9596

97+
<a name="overview-the-grateful-guest"/>
98+
99+
### The grateful guest
100+
101+
In this project, we build custom abstractions on top of Swift's powerful type system. In gratitude, we extend our functionality to Swift-proper through various interoperability modules. Importing these modules grants you access types conforming to the appropriate protocols.
102+
103+
```swift
104+
var randomness = RandomInt() // from RandomIntKit
105+
let random = Bool.random(using: &randomness.stdlib)
106+
```
107+
108+
Some models, like the core binary integer types and the system random number generator, interoperate naturally with Swift. In that case, the various `stdlib()` functions will return the appropriate standard library types. As such, the interoperability features of the `Interoperable` protocol do not introduce any unnecessary monomorphization.
109+
96110
<a name="overview-the-overpowered-binary-integer"/>
97111

98112
### The overpowered `BinaryInteger`

0 commit comments

Comments
 (0)