Skip to content
This repository has been archived by the owner on Apr 8, 2023. It is now read-only.

A pedagogical repository, containing examples of types that are monads (i.e. have wrapping, transforming, flattening methods) and also types that aren't (at least, not in a natural or desirable way), but written in Go.

License

sadasant/NotAMonad-Go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NotAMonad-Go

A go rewrite of the original NotAMonad repository made by Strilanc in C#.

I found this repo in this blog post: What Isn't a Monad.

Test

Test it with:

go test ./...

Original Readme

It's a pedagogical repository, containing examples of types that are monads (i.e. have wrapping, transforming, flattening methods) and also types that aren't (at least, not in a natural or desirable way).

Compare and constrast: Printer/Parser, SquareMatrix/List, QuantumSuperposition/ProbabilityDistribution.

SquareMatrix/List

Printer/Parser

QuantumSuperposition/ProbabilityDistribution


Thanks for your time!

Peace ☮

About

A pedagogical repository, containing examples of types that are monads (i.e. have wrapping, transforming, flattening methods) and also types that aren't (at least, not in a natural or desirable way), but written in Go.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages