Fork me on GitHub
#funcool
<
2019-09-15
>
niwinz12:09:27

Hi! I was away from this chat for a while, but now i'm back 😄

niwinz12:09:17

@ikitommi i have read your messages about promesa in the history https://clojurians-log.clojureverse.org/funcool/2019-07-05, and yes, promesa has some overhead on top of plain completabe future, just for make it behave in the same way as clojure.core/future (being aware of current dynamic scope and preserve it on the execution of the chained computation...

niwinz12:09:04

Additionally, in 4.0.0-SNAPSHOT, a map', mapcat' and bind' variants are coming in jvm, that does not dispatches on all computations (uses thenApply instead of thenApplyAsync ...)

niwinz12:09:26

I've been thinking about removing the dynamic scope awareness, and delegate it to user if he need it... but i'm still undecided...

ikitommi13:09:21

with my journeys with Scala futures, the implicit executor was always a mess. 👍:skin-tone-2: For explicit config.

👍 4
ikitommi13:09:12

meanwhile, @mpenet did a small wrapper for Java's CP too, https://github.com/mpenet/auspex. Not targetting js thou.

niwinz14:09:53

hmm auspex looks very similar to the promesa... i think that removing the dynamic scope handling will do absolutelly the same with a very similar api..

niwinz20:09:05

bumped promesa 4.0.0-SNAPSHOT with latest master, includes improvements on the execution model and removing the dynamic binding handling

niwinz20:09:30

more details on the changelog and the doc/content.adoc

niwinz20:09:24

with that changes, i think the overhead over plain completable future usage will be very small... (i will do some microbenchmark later)