コード例 #1
0
        static public A roundTrip <A, F>(A a, Writer <A, F> w, Reader <A, F> r)
        {
            var ms   = new System.IO.MemoryStream();
            var sink = Sinks.ToOutputStream(ms);

            w.Bind(sink).Invoke(a);
            sink.Finished();
            // NOTE: don't remove this. its super useful.
            //Console.Write("bytes: " + ms.ToArray().Select((x) => x.ToString()).Aggregate((x,y) => x + ", " + y) + "\n");
            var o = r.Bind(Sources.FromByteArray(ms.ToArray())).Get;

            return(o);
        }