mem-query 0.0.1

Relational algebra interface for Rust collections
/*use tylisp::ops::{
    list::{Intersect}
};

pub struct Join<L,R>( pub L, pub R );

type JoinKey<L:Record, R:Record> = eval!{Intersect, @L::Cols, @R::Cols};
type RCols<L:Record, R:Record> = <JoinKey<L,R> as ProjectFrom<R::Cols>>::Remainder;
type Header<L:Record, R:Record> = calc_ty!{Concat, @L::Cols=l, @RCols<L,R>=r};


impl<L:Record, R:Record> Record for Join<L,R>
where
    JoinKey<L,R>: Header + ProjectFrom<L::Cols> + ProjectFrom<R::Cols>,
    RCols<L,R>: ProjectFrom<R::Cols>,

{
    type Cols = Header<L,R>;

    fn into_cols(self)->Self::Cols {
        calc!{
            Concat,
            @L::Cols=self.0.into_cols(),
            @RCols<L,R> = RCols::<L,R>::project_from(self.1.into_cols())
        }
    }

    fn clone_cols(&self)->Self::Cols {
        
    }

*/