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 "2.0.0"]
marick/structural-typing {:mvn/version "2.0.0"}
implementation("marick:structural-typing:2.0.0")
<dependency> <groupId>marick</groupId> <artifactId>structural-typing</artifactId> <version>2.0.0</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: