Crates.io | strict_types |
lib.rs | strict_types |
version | 2.8.0 |
source | src |
created_at | 2023-01-30 09:52:13.913953 |
updated_at | 2024-11-04 07:50:17.999131 |
description | Strict types: confined generalized algebraic data types (GADT) |
homepage | https://strict-types.org |
repository | |
max_upload_size | |
id | 771591 |
size | 2,759,195 |
This is a set of libraries for working with abstract syntax trees and libraries of strict types – type system made with category theory which ensures provable properties and bounds for the in-memory and serialized type representation.
Strict types is a formal notation for defining and serializing generalized algebraic data types (GADT) in a deterministic and confined way. It is developed with type theory in mind.
Strict Types are:
To learn more about strict encoding read the spec.
Strict types works with type definitions. It allows:
The library allows to generate & compile strict type libraries (STL) from rust
types implementing StrictEncoding
trait -- and ensures that the
deserialization with StrictDecode
follows the same memory and semantic layout.
The library is able to reflect on itself, producing replica of its rust data types in strict types system.
Strict types library id:
stl:9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ#lagoon-rodent-option
Import this lib by putting in the file header
import lagoon_rodent_option_9KALDYR8Nyjq4FdMW6kYoL7vdkWnqPqNuFnmE9qHpNjZ as StrictTypes
Source code can be found in [stl/StrictTypes.sty
] file.
The libraries are distributed on the terms of Apache 2.0 license.