styc

Crates.iostyc
lib.rsstyc
version0.1.0
sourcesrc
created_at2024-11-25 06:23:53.659659
updated_at2024-11-25 06:23:53.659659
descriptionTypesystem definition SDK
homepagehttps://github.com/lexa-diky/styc-rs
repository
max_upload_size
id1459944
size13,061
Alexey Yakovlev (lexa-diky)

documentation

README

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

Commit count: 0

cargo fmt