Skip to content

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

License

Notifications You must be signed in to change notification settings

cboudereau/category-theory-for-dotnet-programmers

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published