この資料は 第9回 Functional忍者 の資料だったものの残滓です。
- 限定継続については触れません。
| type ホモビルダー() = | |
| member __.Delay(f: unit -> _) = f | |
| member __.Run(f) = f () | |
| member __.Yield(()) = "" | |
| member __.Yield(x: string) = x | |
| [<CustomOperation("攻め")>] | |
| member inline __.攻め(_, case) = case | |
| [<CustomOperation("受け")>] | |
| member inline __.受け(source: string, case) = (source, case) | |
| [<CustomOperation("┌(┌^o^)┐")>] |
| type NonEmptyList<'T> = 'T * 'T list | |
| type FlowControl = Break | Continue | |
| type Case<'T> = | |
| | Unit | |
| | Value of 'T | |
| type TestResult<'T> = | |
| | Success of 'T |
| #include <iostream> | |
| #include <sstream> | |
| #include <vector> | |
| #include <iterator> | |
| #include <random> | |
| #include <boost/assign/list_of.hpp> | |
| #include <boost/range/algorithm/copy.hpp> | |
| #include <boost/range/adaptor/indexed.hpp> | |
| #include <boost/range/adaptor/transformed.hpp> |
この資料は 第9回 Functional忍者 の資料だったものの残滓です。
| type _1<'F, 'A> = interface end | |
| type Bind<'F, 'R> = | |
| abstract member Apply: _1<'F, 'B> * ('B -> 'R) -> 'R | |
| type Monad<'F> = | |
| abstract member Return : 'T -> _1<'F, 'T> | |
| abstract member Bind: _1<'F, 'A> * ('A -> _1<'F, 'B>) -> _1<'F, 'B> | |
| type Free<'F, 'A> = |
| namespace FsCheck.Ext | |
| module Test = | |
| open System | |
| open FsCheck | |
| open FsCheck.Arb | |
| type JapaneseChar = char | |
| type MyGenerators = |
| 発表場所: | Scalaz勉強会 |
|---|---|
| 資料のライセンス: | CC-BY-SA 4.0 |
| 発表場所: | @zakky_dev さん関数型帝国名古屋入国歓迎会 @ 名古屋ギークバー |
|---|---|
| 資料のライセンス: | CC-BY-SA 4.0 |
| 更新日: | 2014/03/14 |
|---|---|
| 書いた人: | @pocketberserker |
| 発表場所: | C#の素晴らしさを語る会 |
|---|---|
| トゥギャッター: | |
| 資料のライセンス: | CC-BY-SA 3.0 |