この資料は 第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 |