On Mon, Jun 1, 2015 at 11:12 PM, Gary Trakhman <gary.trakh...@gmail.com>
wrote:

> I think this is one of those cases where the rules are different for
> libraries than applications.
>
> Does your lib need to pull in core.async, and does it need to be coupled
> to a specific version?  If it's a building block sort of lib that clojure
> and the community prefers, I think the answer is no.  Is this more of an
> opinionated 'framework' or set of batteries (luminus might fall in this
> category)?  In that case, yes.
>
> As an application-writer having to write some glue code feels less frustrating
> than when libs make assumptions that I don't like.
>

Completely agree with that!


>
> On Mon, Jun 1, 2015 at 5:05 PM Eldar Gabdullin <eldar...@gmail.com> wrote:
>
>> I would implement everything sticking to just callbacks, then create
>> separately requirable core.async version of API if that matters.
>> Ideally this should be a separate lib, but practically, it seems better
>> to just have a separate file.
>>
>> понедельник, 1 июня 2015 г., 22:18:19 UTC+3 пользователь Christopher
>> Small написал:
>>
>>> Greetings
>>>
>>> I imagine most of us here would rather use core.async channels over
>>> callbacks in their application code, particularly with more complicated
>>> applications. But is it okay/preferable for Clojure libraries to force
>>> their users to use core.async channels as part of an API (an event channel,
>>> for example)?
>>>
>>> As much as I love core.async, I can't help but wonder whether sticking
>>> with callbacks for an API isn't a simpler/better design strategy. It's easy
>>> enough to drop messages on a channel in a callback, and this let's users
>>> opt-in. But if one expects core.async channels are what most would prefer
>>> anyway, is it okay to foist them upon everyone?
>>>
>>> As a follow up, does your opinion on the matter change if
>>> implementations of an API become simpler using core.async channels?
>>>
>>>
>>> Looking forward to your thoughts :-)
>>>
>>> Chris Small
>>>
>>>
>>>
>>> PS I'm asking because I'm working on a physical computing API (
>>> https://github.com/clj-bots/pin-ctrl) and debating between using
>>> channels vs callbacks for the edge detection functionality (if you're not
>>> familiar, edge detection let's you asynchronously handle changes in pin
>>> state, such as button pushes). If you're interested in this question as it
>>> applies specifically to this application, feel free to join the discussion
>>> on our gitter channel: https://gitter.im/clj-bots/chat
>>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Andrey Antukh - Андрей Антух - <n...@niwi.nz>
http://www.niwi.nz
https://github.com/niwinz

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to