Пример #1
0
        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
 public static Maybe <Pair <A, IEnumerable <A> > > Uncons <A>(this NonEmptyLazyList <A> list)
 {
     return(Maybe.Just(list.HeadTail()));
 }