funcool

A channel for discussing and asking questions about Funcool libraries https://github.com/funcool/
mccraigmccraig 2015-08-26T12:32:59.000002Z

niwinz: i see there's a load of new stuff in cats... will there be a release soon ?

niwinz 2015-08-26T12:35:04.000003Z

We have not yet thought about it

niwinz 2015-08-26T12:35:38.000004Z

I think that the main blocking part is traversable

niwinz 2015-08-26T12:35:58.000005Z

and applicative composition

niwinz 2015-08-26T12:36:23.000006Z

i don't know if we should leave the last (applicative composition) for other release or include it in this one.

mccraigmccraig 2015-08-26T12:36:44.000007Z

by applicative composition dyu mean the alet macro ?

niwinz 2015-08-26T12:37:08.000008Z

nope, I mean compose deferred with either

niwinz 2015-08-26T12:37:15.000009Z

and use it in alet

niwinz 2015-08-26T12:37:42.000010Z

basically extend the transformers to support applicatives

mccraigmccraig 2015-08-26T12:37:50.000011Z

ah, yeah, i remember

niwinz 2015-08-26T12:38:08.000012Z

In any case the reall blocking issue is a traversable

mccraigmccraig 2015-08-26T12:38:11.000013Z

what is traversable ?

niwinz 2015-08-26T12:39:00.000015Z

This link maybe will explain better that I can

niwinz 2015-08-26T12:40:15.000016Z

The next cats release will be the first 1.0.0 i think

mccraigmccraig 2015-08-26T12:40:25.000017Z

so you are adding a new protocol for traversable data types ?

niwinz 2015-08-26T12:40:54.000018Z

Yes https://github.com/funcool/cats/pull/80

niwinz 2015-08-26T12:40:59.000020Z

@dialelo: is working on it

2015-08-26T12:42:10.000021Z

yes

2015-08-26T12:42:16.000022Z

the idea behind traverse is to

2015-08-26T12:42:23.000023Z

map every element to an acction (applicative)

2015-08-26T12:42:34.000024Z

and evaluate such actions from left to right using applicative bind

2015-08-26T12:42:59.000025Z

a bit more general than map and reduce, you can both map & combine in single traversal

2015-08-26T12:43:54.000026Z

i hope to have this ready by the weekend

2015-08-26T12:44:05.000027Z

i travel on friday and will use that time for finishing this PR

mccraigmccraig 2015-08-26T12:44:27.000028Z

cool

mccraigmccraig 2015-08-26T12:44:53.000029Z

dyu have any plans to add comonads and arrows to cats ?

mccraigmccraig 2015-08-26T12:45:06.000030Z

i don't have any particular need for them atm, just wondering

2015-08-26T12:45:34.000031Z

we could, of course

2015-08-26T12:45:48.000032Z

i have an intuition of what Comonads look like being the dual of monads

2015-08-26T12:45:57.000033Z

but i'd have to learn more about the subject

2015-08-26T12:45:59.000034Z

same with arrows

niwinz 2015-08-26T12:46:15.000035Z

It seems that is a great task for new contributors 😛

2015-08-26T12:46:38.000036Z

mccraigmccraig: feel free to open issues in the cats repo, we use github to track remaining work on the library

mccraigmccraig 2015-08-26T12:47:50.000037Z

niwinz: :simple_smile: when i get a bit of relief from the delivery schedule i'm on atm i would love to work on some of this stuff - understanding and using it is certainly improving my programming

niwinz 2015-08-26T12:48:13.000038Z

\o/

2015-08-26T12:48:41.000039Z

indeed!

mccraigmccraig 2015-08-26T12:58:05.000040Z

oh, i had a question about cats.labs.deferred ... why do -pure/-return use a manifold/future rather than a simple manifold/success-deferred ?

niwinz 2015-08-26T13:00:59.000041Z

Hmm, because I don't know about success-deferred

niwinz 2015-08-26T13:01:07.000042Z

didn't know

mccraigmccraig 2015-08-26T13:02:03.000043Z

ha, ok - future uses another thread, so i was wondering if there was some deeper purpose i hadn't grokked :simple_smile:

niwinz 2015-08-26T13:09:18.000044Z

No, knowing about success-deferred, I will change the pure/return impl to use it.

niwinz 2015-08-26T13:09:32.000045Z

Additional thread is useless in this case.