Define types by giving descriptions (perhaps incomplete) of how they're built. "...by how they're built" means applying arbitrary predicates (especially ones about existence) to parts of structures. The top-level namespaces contain what you need to use the library, including simpler customizations. The .assist namespaces are useful for more in-depth customizations.
[marick/structural-typing "1.0-beta3"]
marick/structural-typing {:mvn/version "1.0-beta3"}
implementation("marick:structural-typing:1.0-beta3")
<dependency> <groupId>marick</groupId> <artifactId>structural-typing</artifactId> <version>1.0-beta3</version> </dependency>
Want to display the latest version of your project on GitHub? Use the markdown code below!
If you want to include pre-releases and snapshots, use the following markdown code: