katas
mo
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
katas
- Programming Katas 形
-
Programming katas 形
A simple way to hone my programming skills - https://github.com/jreisinger/katas.
mo
-
Functional Programming Library for Golang by IBM
A simple alternative is the combination of:
- https://github.com/samber/lo
- https://github.com/samber/mo
The split is also nice as you can choose to just use the generic convenience functions from lo without the more FP related things from mo.
-
Handling nil values: Pointers vs Abstractions
Is it a popular approach to use abstractions in general for handling nil values with libraries like null or mo? Should I just stick with pointers? What are your experiences on this topic?
-
samber/lo utility package based on generics
I really like it. Have been using it for a while, just don't overuse it. Also, I recommend github.com/samber/mo
-
Switching from C++ to Rust
Go generics allow all kinds of things https://github.com/samber/mo
-
I know there is no OPTIONALS in go , i hope they implement it , what is the best approach to deal with optionals in go? sometimes i think the default values added by golang isn’t suitable, like adding zero to int ! .. zero is a value not nil or undefined.
Have you taken a look at mo? https://github.com/samber/mo
-
What the state of functional programming ecosystem ?
If you are curious, try looking at github.com/samber/lo and github.com/samber/mo packages if you get a chance.
-
Reduce Boilerplate in Go Http Handlers with Go Generics
I have seen https://github.com/samber/mo but it's a niche. Monads aren't popular in Golang community.
- Monads for Go, Using Generics (Option, Result, Either)
-
Expected vs Unexpected errors in Go
I've also looked at the mo library, in particular to use Option[User] but that's really just a slightly safer way to represent User* here. (Safer because you're forced to check if there's a value and so don't have the same accidental panic risk.)
- Monads and popular FP abstractions, powered by Go 1.18 Generics
What are some alternatives?
lisp-rosetta-stone - A lisp rosetta stone to demonstrate modern language features
lo - 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)
gokatas - Internalize the Go movements 🥋
fp-go - fp-go is a collection of Functional Programming helpers powered by Golang 1.18+ generics.
valor - Go option and result types that optionally contain a value
underscore - 🌟 Useful functional programming helpers for Go
gofp - A super simple Lodash like utility library with essential functions that empowers the development in Go
fuego - Functional Experiment in Golang
fpGo - Monad, Functional Programming features for Golang
goterators - A utility library that supports aggregate & transforms functions Go with generic. Such as filter, map, reduce, find, exist
go-sumtype - A simple utility for running exhaustiveness checks on Go "sum types."
dogs - Make Go functional with dogs