示例#1
0
文件: Functor.cs 项目: jedahu/Jib
        public NonEmptyLazyList <B> Map <A, B>(NonEmptyLazyList <A> list, Func <A, B> f)
        {
            var ht = list.HeadTail();

            return(f(ht.Fst).Cons(ht.Snd.Select(f)));
        }
示例#2
0
文件: Bind.cs 项目: jedahu/Jib
        public static NonEmptyLazyList <B> Bind <A, B>(this NonEmptyLazyList <A> list, Func <A, NonEmptyLazyList <B> > f)
        {
            var ht = list.HeadTail();

            return(f(ht.Fst).SemiOp(ht.Snd.Select(f).Aggregate((a, b) => a.SemiOp(b))));
        }
示例#3
0
文件: Uncons.cs 项目: jedahu/Jib
 public static Maybe <Pair <A, IEnumerable <A> > > Uncons <A>(this NonEmptyLazyList <A> list)
 {
     return(Maybe.Just(list.HeadTail()));
 }