This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-11-26
Channels
- # beginners (17)
- # boot (3)
- # cljs-dev (2)
- # cljsrn (3)
- # clojure (52)
- # clojure-austin (1)
- # clojure-poland (4)
- # clojure-russia (29)
- # clojure-spec (25)
- # clojure-uk (5)
- # clojurescript (39)
- # cursive (29)
- # data-science (5)
- # datomic (5)
- # fulcro (21)
- # graphql (1)
- # hoplon (20)
- # off-topic (5)
- # pedestal (1)
- # perun (3)
- # protorepl (2)
- # re-frame (7)
- # ring (1)
- # shadow-cljs (19)
- # unrepl (10)
- # vim (4)
Z jednej strony +1 dla monad, z drugiej strony w cats musiałem wcale nie tak rzadko używać with-context
żeby ogarnął w kontekście jakiej monady ma robić obliczenia co było trochę annoying.
Ciekawe w sumie z jakiego powodu nikt jeszcze w Clojure nie wpadł na coś analogicznego do free monad (tj. pisania logiki jako interpretowalnej struktury danych z dostępnych operacji). I mean, to nie brzmi na trudno do zrobienia biorąc pod uwagę homoikoniczność, ale wydaje mi się że nie widziałem żeby ktoś napisał blogposta/cokolwiek w tym guście.
To jest o tyle ciekawe, że wywraca twój program niejako na drugą stronę - twoja logika biznesowa to tylko opis pożądanych operacji, a ich semantyka jest nadawana przez zewnętrzny względem nich interpreter I można wtedy w nim zawrzeć wszystkie cross-cutting concerns (jak np. obsługę błędów).