├── .gitignore ├── 1.1 Arrows as Functions ├── README.md ├── fog.csx └── fog.fsx ├── 1.2 Properties of Composition ├── README.md ├── associativity.csx └── associativity.fsx ├── 2.6 Examples of Types ├── README.md ├── ignore and discard.csx └── ignore and discard.fsx ├── 3.4 Monoid as Set ├── README.md ├── monoid.csx └── monoid.fsx ├── 4 Kleisli Categories ├── README.md ├── kleisli.csx └── kleisli.fsx ├── 5 Products and Coproducts ├── README.md ├── pandcop.csx └── pandcop.fsx ├── 6 Simple Algebraic Data Types ├── 6.1 Product Types.csx ├── 6.1 Product Types.fsx ├── 6.2 Records.csx ├── 6.2 Records.fsx ├── 6.3 Sum Types.csx ├── 6.3 Sum Types.fsx ├── 6.4 Algebra Types.csx ├── 6.4 Algebra Types.fsx └── README.md ├── 7 Functor ├── 7.1.1 The Maybe Functor.csx ├── 7.1.1 The Maybe Functor.fsx ├── 7.1.6 The List Functor.csx ├── 7.1.6 The List Functor.fsx ├── 7.1.7 The Reader Functor.csx ├── 7.1.7 The Reader Functor.fsx ├── 7.2 Functors as Containers.csx ├── 7.2 Functors as Containers.fsx ├── 7.3 Functor Composition.csx ├── 7.3 Functor Composition.fsx └── README.md ├── 8 Functoriality ├── 8.1 Bifunctors.csx ├── 8.1 Bifunctors.fsx ├── 8.2 Product and Coproduct Bifunctors.fsx ├── 8.3 Functorial Algebraic Data Types.fsx ├── 8.4 Functors in C#.csx ├── 8.4 Functors in F#.fsx ├── 8.5 The Writer Functor.fsx ├── 8.6 Covariant and Contravariant Functors.fsx └── README.md ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/.gitignore -------------------------------------------------------------------------------- /1.1 Arrows as Functions/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/1.1 Arrows as Functions/README.md -------------------------------------------------------------------------------- /1.1 Arrows as Functions/fog.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/1.1 Arrows as Functions/fog.csx -------------------------------------------------------------------------------- /1.1 Arrows as Functions/fog.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/1.1 Arrows as Functions/fog.fsx -------------------------------------------------------------------------------- /1.2 Properties of Composition/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/1.2 Properties of Composition/README.md -------------------------------------------------------------------------------- /1.2 Properties of Composition/associativity.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/1.2 Properties of Composition/associativity.csx -------------------------------------------------------------------------------- /1.2 Properties of Composition/associativity.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/1.2 Properties of Composition/associativity.fsx -------------------------------------------------------------------------------- /2.6 Examples of Types/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/2.6 Examples of Types/README.md -------------------------------------------------------------------------------- /2.6 Examples of Types/ignore and discard.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/2.6 Examples of Types/ignore and discard.csx -------------------------------------------------------------------------------- /2.6 Examples of Types/ignore and discard.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/2.6 Examples of Types/ignore and discard.fsx -------------------------------------------------------------------------------- /3.4 Monoid as Set/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/3.4 Monoid as Set/README.md -------------------------------------------------------------------------------- /3.4 Monoid as Set/monoid.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/3.4 Monoid as Set/monoid.csx -------------------------------------------------------------------------------- /3.4 Monoid as Set/monoid.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/3.4 Monoid as Set/monoid.fsx -------------------------------------------------------------------------------- /4 Kleisli Categories/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/4 Kleisli Categories/README.md -------------------------------------------------------------------------------- /4 Kleisli Categories/kleisli.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/4 Kleisli Categories/kleisli.csx -------------------------------------------------------------------------------- /4 Kleisli Categories/kleisli.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/4 Kleisli Categories/kleisli.fsx -------------------------------------------------------------------------------- /5 Products and Coproducts/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/5 Products and Coproducts/README.md -------------------------------------------------------------------------------- /5 Products and Coproducts/pandcop.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/5 Products and Coproducts/pandcop.csx -------------------------------------------------------------------------------- /5 Products and Coproducts/pandcop.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/5 Products and Coproducts/pandcop.fsx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.1 Product Types.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.1 Product Types.csx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.1 Product Types.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.1 Product Types.fsx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.2 Records.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.2 Records.csx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.2 Records.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.2 Records.fsx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.3 Sum Types.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.3 Sum Types.csx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.3 Sum Types.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.3 Sum Types.fsx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.4 Algebra Types.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.4 Algebra Types.csx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/6.4 Algebra Types.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/6.4 Algebra Types.fsx -------------------------------------------------------------------------------- /6 Simple Algebraic Data Types/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/6 Simple Algebraic Data Types/README.md -------------------------------------------------------------------------------- /7 Functor/7.1.1 The Maybe Functor.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.1.1 The Maybe Functor.csx -------------------------------------------------------------------------------- /7 Functor/7.1.1 The Maybe Functor.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.1.1 The Maybe Functor.fsx -------------------------------------------------------------------------------- /7 Functor/7.1.6 The List Functor.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.1.6 The List Functor.csx -------------------------------------------------------------------------------- /7 Functor/7.1.6 The List Functor.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.1.6 The List Functor.fsx -------------------------------------------------------------------------------- /7 Functor/7.1.7 The Reader Functor.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.1.7 The Reader Functor.csx -------------------------------------------------------------------------------- /7 Functor/7.1.7 The Reader Functor.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.1.7 The Reader Functor.fsx -------------------------------------------------------------------------------- /7 Functor/7.2 Functors as Containers.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.2 Functors as Containers.csx -------------------------------------------------------------------------------- /7 Functor/7.2 Functors as Containers.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.2 Functors as Containers.fsx -------------------------------------------------------------------------------- /7 Functor/7.3 Functor Composition.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.3 Functor Composition.csx -------------------------------------------------------------------------------- /7 Functor/7.3 Functor Composition.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/7.3 Functor Composition.fsx -------------------------------------------------------------------------------- /7 Functor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/7 Functor/README.md -------------------------------------------------------------------------------- /8 Functoriality/8.1 Bifunctors.csx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /8 Functoriality/8.1 Bifunctors.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/8.1 Bifunctors.fsx -------------------------------------------------------------------------------- /8 Functoriality/8.2 Product and Coproduct Bifunctors.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/8.2 Product and Coproduct Bifunctors.fsx -------------------------------------------------------------------------------- /8 Functoriality/8.3 Functorial Algebraic Data Types.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/8.3 Functorial Algebraic Data Types.fsx -------------------------------------------------------------------------------- /8 Functoriality/8.4 Functors in C#.csx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/8.4 Functors in C#.csx -------------------------------------------------------------------------------- /8 Functoriality/8.4 Functors in F#.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/8.4 Functors in F#.fsx -------------------------------------------------------------------------------- /8 Functoriality/8.5 The Writer Functor.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/8.5 The Writer Functor.fsx -------------------------------------------------------------------------------- /8 Functoriality/8.6 Covariant and Contravariant Functors.fsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/8.6 Covariant and Contravariant Functors.fsx -------------------------------------------------------------------------------- /8 Functoriality/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/8 Functoriality/README.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cboudereau/category-theory-for-dotnet-programmers/HEAD/README.md --------------------------------------------------------------------------------