tcrts 0.1.0

Turing complete rust type system
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::*;

pub trait Enumerate<Start = Zero> {
    type Output;
}

impl<H, T, I> Enumerate<I> for Cons<H, T>
where
    T: Enumerate<Next<I>>,
    I: Num,
{
    type Output = Cons<Pair<I, H>, <T as Enumerate<Next<I>>>::Output>;
}

impl<I> Enumerate<I> for Nil {
    type Output = Nil;
}