コード例 #1
0
ファイル: Mapping.cs プロジェクト: frostedbyts/Functor
        public static ListMonad <TOut> ConcatMap <TIn, TOut>(this ListMonad <TIn> m, Func <TIn, TOut> func)
        {
            ListMonad <TOut> output = ListMonad.Return(new List <TOut>());

            if (m.Values != null && m.Values.Any())
            {
                foreach (TIn item in m.Values)
                {
                    TOut temp = func(item);
                    output.Values.Add(temp);
                }
            }
            return(output);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: oflores/confsamples
        static void Main(string[] args)
        {
            // Bind Example
            IdentityMonad.BindExample();

            // Select Many Example
            IdentityMonad.SelectManyExample();

            // LINQ Example
            IdentityMonad.LinqExample();

            // Maybe Monad Example
            MaybeMonad.LinqExample();

            // List Monad Example
            ListMonad.LinqExample();

            // Continuation Monad Example
            ContinuationMonad.LinqExample();

            // Async Computation Example
            AsyncComputationExample.LinqExample();
        }
コード例 #3
0
ファイル: ListTest.cs プロジェクト: Strilanc/NotAMonad
    public void TestWrap()
    {
        var s = ListMonad.Wrap("test");

        s.Single().AssertEquals("test");
    }
コード例 #4
0
ファイル: ListMonadTest.cs プロジェクト: BoykoDmitry/csharp
 public C(ListMonad<long> m)
 {
     this.m = m;
 }
コード例 #5
0
ファイル: ListMonadTest.cs プロジェクト: maxisam/csharp
 public C(ListMonad <long> m)
 {
     this.m = m;
 }