styc 0.1.0

Typesystem definition SDK
Documentation
  • Coverage
  • 0%
    0 out of 1 items documented0 out of 0 items with examples
  • Size
  • Source code size: 12.74 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.33 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • Homepage
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • lexa-diky

STyC - Structural TYpe Compiler

STyC provides an ability to define simple high-level domain-specific type systems.

What is STyC type?

Each STyc type is represented by Shape. Shape defines possible values type con have.

There are multiple Shape meta types:

  • Scalar - shape representing scalar 128 bit value
  • Symbol - shape representing single possible value defined by it's name
  • Set - shape representing heterogeneous set of shapes
  • Vector - shape representing homogeneous directional vector of shapes with fixed length range
  • Structure - shape representing set of key value pairs
  • Nominative - shape representing named type identified by name and having undefined set of possible values

Basic Operations

All shapes define set of basic predefined operations that you can utilize to implement higher level ones.

All basic operations could be applied for all shapes, although result of operation might be undefined. For example adding two symbols is impossible due to definition of symbol.

Addition

TODO