mo
fp-go
Our great sponsors
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.
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
fp-go
-
Functional programming in Go (fp-go)
View on GitHub
What are some alternatives?
lo - π₯ A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...)
fpGo - Monad, Functional Programming features for Golang
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
goterators - A utility library that supports aggregate & transforms functions Go with generic. Such as filter, map, reduce, find, exist
go-godash - An experimental generic functional utility library inspired by Lodash