arrow-kt / arrow

Λrrow - Functional companion to Kotlin's Standard Library
http://arrow-kt.io
Other
6.2k stars 448 forks source link

Roadmap #69

Closed raulraja closed 3 years ago

raulraja commented 7 years ago

Roadmap

data

typeclasses

instances

syntaxis

utils

tests

docs

pakoito commented 7 years ago

Are we going to do Fix and the XXXmorphisms from recursion schemes?

SOURCE: https://medium.com/@jaredtobin/practical-recursion-schemes-c10648ec1c29

MonadFix: https://www.reddit.com/r/haskell/comments/6vgtjw/monadfix_is_time_travel/

pakoito commented 7 years ago

I would also add Task, even if it's just a composition of the others, or a separate project altogether (?).

raulraja commented 7 years ago

@pakoito yes we can do that but it's not strictly necessary for the first version, I guess we should add it and label everything with the version we expect it to come out

raulraja commented 7 years ago

Let's add Task I also want to add Lenses but those don't need to be in a first version either.

pakoito commented 7 years ago

More "would be nice to have" things:

All the comonad stack: https://hackage.haskell.org/package/comonad-5

Update (co)monad: https://github.com/ekmett/update https://www.schoolofhaskell.com/user/edwardk/heap-of-successes http://try.purescript.org/?gist=376d272b1372835aacc3ad18f89c39cd&session=2f758ab5-7e1e-0508-f472-d1e6ea12203e

Two examples of wrapping native platforms for a potential extension lib: https://github.com/purescript/purescript-eff https://github.com/slamdata/purescript-aff

For a value of nice anyway :D

pakoito commented 7 years ago

followedBy, forEffect, ifM

https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/FlatMap.scala#L48 (edited)

https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/FlatMap.scala#L70 (edited)

https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/FlatMap.scala#L118

y hay variaciones para Eval de los mismos

Done in #212

pakoito commented 7 years ago

Complete Functor https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/Functor.scala

Taken by #173

pakoito commented 7 years ago

Composed instances

https://github.com/FineCinnamon/Katz/issues/104

pakoito commented 7 years ago

Add MonadTrans.

Resources: https://ro-che.info/articles/2014-07-15-type-based-lift https://github.com/typelevel/cats/pull/844

pakoito commented 7 years ago

More suggestions: https://wiki.haskell.org/Monad#Interesting_monads

pakoito commented 7 years ago

Traverse laws -> moved to #136

EDIT: DONE

pakoito commented 7 years ago

Category and MonoidK typeclasses

https://github.com/kategory/kategory/pull/137#discussion_r128702625

pakoito commented 7 years ago

MonadReader laws

https://github.com/kategory/kategory/pull/137#discussion_r128701632

pakoito commented 7 years ago

Easy

binding tests for monad and comonad

https://github.com/kategory/kategory/pull/137/files/b323cc6f139ed589150f7ee59c9c3878c5895262#r128701973

Done in #214

pakoito commented 7 years ago

Improve free with resume, fold...

It'll require to change free to use Functors, and CoYoneda conversion

http://blog.higher-order.com/blog/2013/11/01/free-and-yoneda/

pakoito commented 7 years ago

Except/ExceptT

https://hackage.haskell.org/package/transformers-0.5.4.0/docs/src/Control.Monad.Trans.Except.html#

Inspired by

https://twitter.com/daniel_mbfm/status/888890585318391810

pakoito commented 7 years ago

Adjunction: https://www.youtube.com/watch?v=BLk4DlNZkL8

Should be easy to implement.

pakoito commented 7 years ago

AsyncContext from FreeStyle:

https://github.com/frees-io/freestyle/blob/master/freestyle-async/async/shared/src/main/scala/async.scala

Done in #192

raulraja commented 3 years ago

Thanks to everyone that helped here! closing this old issue now 🙏