All Projects → cboudereau → Category Theory For Dotnet Programmers

cboudereau / Category Theory For Dotnet Programmers

This repo contains all c++ / haskell samples from Bartosz Milewski's book (Category Theory for Programmers) converted to csharp and fsharp

Programming Languages

csharp
926 projects
fsharp
127 projects

Projects that are alternatives of or similar to Category Theory For Dotnet Programmers

Monix
Asynchronous, Reactive Programming for Scala and Scala.js.
Stars: ✭ 1,819 (+1044.03%)
Mutual labels:  functional-programming
Cube Composer
A puzzle game inspired by functional programming
Stars: ✭ 1,845 (+1060.38%)
Mutual labels:  functional-programming
Mvi Archtecture
The practice of MVI + Jetpack architecture in Android.
Stars: ✭ 152 (-4.4%)
Mutual labels:  functional-programming
Kingly
Zero-cost state-machine library for robust, testable and portable user interfaces (most machines compile ~1-2KB)
Stars: ✭ 147 (-7.55%)
Mutual labels:  functional-programming
Rangeless
c++ LINQ -like library of higher-order functions for data manipulation
Stars: ✭ 148 (-6.92%)
Mutual labels:  functional-programming
Purescript Presto
Write Apps like Mathematical Equations!
Stars: ✭ 149 (-6.29%)
Mutual labels:  functional-programming
Parjs
JavaScript parser-combinator library
Stars: ✭ 145 (-8.81%)
Mutual labels:  functional-programming
Helios
A purely functional JSON library for Kotlin built on Λrrow
Stars: ✭ 157 (-1.26%)
Mutual labels:  functional-programming
Doobie
Functional JDBC layer for Scala.
Stars: ✭ 1,910 (+1101.26%)
Mutual labels:  functional-programming
Pyfunctional
Python library for creating data pipelines with chain functional programming
Stars: ✭ 1,943 (+1122.01%)
Mutual labels:  functional-programming
Rambdax
Extended version of Rambda
Stars: ✭ 148 (-6.92%)
Mutual labels:  functional-programming
Munus
Power of object-oriented programming with the elegance of functional programming in PHP.
Stars: ✭ 149 (-6.29%)
Mutual labels:  functional-programming
Evilml
A compiler from ML to C++ template language
Stars: ✭ 149 (-6.29%)
Mutual labels:  functional-programming
Ip4s
Defines immutable, safe data structures for describing IP addresses, multicast joins, socket addresses and similar IP & network related data types
Stars: ✭ 145 (-8.81%)
Mutual labels:  functional-programming
Fs2
Compositional, streaming I/O library for Scala
Stars: ✭ 1,998 (+1156.6%)
Mutual labels:  functional-programming
Lazy Collections
Collection of fast and lazy operations
Stars: ✭ 146 (-8.18%)
Mutual labels:  functional-programming
Meow Mtl
Next Level MTL for Scala
Stars: ✭ 149 (-6.29%)
Mutual labels:  functional-programming
Kotlindiscretemathtoolkit
Set of extensions for Kotlin that provides Discrete math functionalities
Stars: ✭ 158 (-0.63%)
Mutual labels:  functional-programming
L1
L1: Tensor Studio — The playground for tensors
Stars: ✭ 154 (-3.14%)
Mutual labels:  functional-programming
Easysequence
EasySequence is a powerful fundamental library to process sequcence type, such as array, set, dictionary. All type object which conforms to NSFastEnumeration protocol can be initialzed to an EZSequence instance, then you can operation with them. Finally, you can transfer them back to the original type.
Stars: ✭ 150 (-5.66%)
Mutual labels:  functional-programming

category-theory-for-dotnet-programmers

This repo contains c++ / haskell samples from Bartosz Milewski's book (Category Theory for Programmers) converted to csharp and fsharp

Why

If you are curious about functional programming with dotnet background, you already may know Domain modeling made functional that could help you to build your first functional programming based app. The Category Theory for programmers, is quite interresting for programmers having a first experience in fsharp or csharp (in .net) who want to use Haskell or enhance their FSharp implementation.

Fsx and Csx are scripts files executed respectively into Fsharp interactive and Csharp interactive shipped with Visual Studio Community at least.

/!\ There is a problem with csx : to transform statement as expression (to display the value) you have to not ending your line with ';' causing compilation error on multiple line. If you encounter compilation error on csx, try to execute it line by line. If the code does not compile send a PR or a message.

How to use it ?

Read the Category Theory for Programmers and the annotations corresponding to the chapter into vs code or visual studio.

You can use it like a sandbox and try by yourself Challenges (challenges are not translated for more fun ;)). Only Haskell/C++ samples are translated.

I will try to add converted examples constantly but pull requests are accepted. The format is pretty simple, one folder per each chapter and 2 scripts (fsharp and csharp) inside.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].