This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-11-02
Channels
- # aleph (6)
- # beginners (37)
- # boot (415)
- # cider (17)
- # cljs-dev (79)
- # cljsjs (3)
- # cljsrn (18)
- # clojars (3)
- # clojure (34)
- # clojure-france (6)
- # clojure-italy (1)
- # clojure-korea (1)
- # clojure-russia (22)
- # clojure-spec (64)
- # clojure-uk (47)
- # clojurebridge (6)
- # clojurescript (61)
- # clojurex (1)
- # cloverage (11)
- # component (6)
- # cursive (73)
- # data-science (6)
- # datascript (4)
- # datomic (38)
- # editors (1)
- # emacs (4)
- # events (16)
- # funcool (5)
- # garden (3)
- # hoplon (17)
- # jobs (2)
- # klipse (74)
- # off-topic (3)
- # om (81)
- # onyx (35)
- # parinfer (4)
- # pedestal (1)
- # perun (20)
- # planck (9)
- # proton (1)
- # re-frame (17)
- # reagent (3)
- # ring-swagger (1)
- # rum (7)
- # untangled (63)
- # vim (8)
@potapenko https://github.com/funcool/promesa/blob/master/doc/content.adoc#async-await-syntax
you don't need convert promises to channels to have go like macro 😛, promesa 1.6.0-SNAPSHOT already comes with its own version of async
(go like) macro that does that 😄
@niwinz тянуть целую либу в зависимости вместо элементарной обёртки в несколько строчек? Не, уж лучше стандартными средствами cljs.core.async обходиться. Я так понимаю ничего такого же лаконичного как clojure-вый promise в clojurescript-е не придумаешь, придётся на channel-ах всё делать.
it depends on what you need, I prefer use better abstractions over thinking on adapting the existing ones just because they plays better in dead code elimination. channels are good abstraction but they are not silver bullet, and in my opinion are not very good for represent a eventual (future) value with a posibility of failure...
the go macro also is not well prepared for error handling (eg, if exception is happens in go block, the exception is ignored if you don't catch it manually...)
@ul проблема не в размере кода, а в том, что clojure-вые либы обычно не сильно заботятся об обратной совместимости, в итоге у меня на проекте десятки вот таких вот мелких либ, половину из которых нет возможности обновить, т.к. всё ломается после этого. На рефакторинг и тестирование не хватит и недели, больше менеджмент не выделит. А старые версии, разумеется, не поддерживаются, баги в них не фиксятся. В итоге новая зависимость вызывает отвращение у все команды. Тем более если это из соображений "захотелось синтаксического сахара".
@niwinz what is principal differences between go
macros and alet
macros from this library? Exception from alet
body will not propagate upper, so it is the same, right?
concretly, the alet
macro is much simplier and generates less code that the go, but it also limited to let bindings, there are also the async
macro that uses the core.async machinary but with promise primitive instead of channel, that approach has the best of two: a general purpose go-like macro and better primitive for async result value with proper error handling
а почему так кста?
понимаю, что таких, как я, немного, но я обновляю зависимости в рабочем проекте каждый день - с этого начинаю утро Не помню, чтобы у меня что-нибудь ломалось при переходе (чтение changelog занимает от силы минут пять)
Не видел ничего похожего на описанную “болезнь”, у меня скорее обратный опыт. Да, breaking changes бывают (а как без них, интересно?), но обычно они в том же changelog ярко выделены. Пример: https://github.com/ptaoussanis/sente/blob/master/CHANGELOG.md#v190---2016-jul-6
оффтоп со странички автора этой либы
Work exclusively with Clojure and ClojureScript these days, and have over 600k lines of production front and back end code committed in those languages since 2009 (before the release of Clojure 1.0).
хера седак он небось скомпилил тока, типов нет, все норм и в прод