about summary refs log blame commit diff
path: root/yants.md
blob: 6db2068255dc03846a6a3547ecbadaaf916496eb (plain) (tree)
1
2
3
4
5
6
7
8
9


     


                                                                                


                                   
                                                                                                                                               


          
                                                                                                                                                 


                  
                                                                                                                                                               



                                                                                                                                             
yants
=====

This is a tiny type-checker for data in Nix, written in Nix. It doesn't have all
the features I think it should have (yet), but it works and its types are
composable.

## Primitives & simple polymorphism

![simple](https://gist.githubusercontent.com/tazjin/ad6d48bc2416335acc5da4a197eb9ddc/raw/d7b1fa0a511ae40f0831b369df4b97103441c7e5/z-simple.png)

## Structs

![structs](https://gist.githubusercontent.com/tazjin/ad6d48bc2416335acc5da4a197eb9ddc/raw/d7a7cff3639115538a5085561bedf11cb36d04e7/z-structs.png)

## Nested structs!

![nested structs](https://gist.githubusercontent.com/tazjin/ad6d48bc2416335acc5da4a197eb9ddc/raw/d7b1fa0a511ae40f0831b369df4b97103441c7e5/z-nested-structs.png)

## Enums!

![enums](https://gist.githubusercontent.com/tazjin/ad6d48bc2416335acc5da4a197eb9ddc/raw/b435b5996a176a9e824c42da4713a1d30f261338/z-enums.png)