예제 #1
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public FuncyListTC <TReturn> Apply <TReturn>(FuncyListTC <Func <T, TReturn> > f)
 {
     if (f.IsCons)
     {
         return(FuncyListTC.Construct(f.SelectMany(fCons => this.FMap(fCons)).ToArray()));
     }
     else
     {
         return(FuncyListTC.Nil <TReturn>());
     }
 }
예제 #2
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public FuncyListTC <TReturn> ApplyRight <TReturn>(FuncyListTC <TReturn> other)
 {
     return(other);
 }
예제 #3
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public FuncyListTC <T> ApplyLeft <TReturn>(FuncyListTC <TReturn> other)
 {
     return(this);
 }
예제 #4
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public override FuncyListTC <TReturn> ComputeWith <TReturn>(Func <T, FuncyListTC <TReturn> > f)
 {
     return(FuncyListTC.Nil <TReturn>());
 }
예제 #5
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public override FuncyListTC <TReturn> FMap <TReturn>(Func <T, TReturn> f)
 {
     return(FuncyListTC.Nil <TReturn>());
 }
예제 #6
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public override FuncyListTC <TReturn> ComputeWith <TReturn>(Func <T, FuncyListTC <TReturn> > f)
 {
     return(FuncyListTC.Construct(this.SelectMany(h => f(h)).ToArray()));
 }
예제 #7
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public override FuncyListTC <TReturn> FMap <TReturn>(Func <T, TReturn> f)
 {
     return(FuncyListTC.Cons(f(this.Head), this.Tail.FMap(f)));
 }
예제 #8
0
파일: FuncyListTC.cs 프로젝트: forki/Funcy
 public ConsTC(T head, FuncyListTC <T> tail)
 {
     this.Head = head;
     this.Tail = tail;
 }