This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-10-14
Channels
- # beginners (4)
- # boot (2)
- # cider (17)
- # clara (8)
- # cljs-dev (5)
- # clojure (16)
- # clojure-italy (14)
- # clojure-nl (1)
- # clojure-norway (1)
- # clojure-russia (1)
- # clojure-uk (4)
- # clojurescript (8)
- # data-science (19)
- # datomic (4)
- # ethereum (1)
- # events (1)
- # fulcro (15)
- # graphql (4)
- # hoplon (10)
- # jobs (1)
- # mount (1)
- # off-topic (15)
- # parinfer (4)
- # perun (1)
- # portkey (6)
- # re-frame (15)
- # reagent (10)
- # schema (1)
- # shadow-cljs (80)
- # specter (4)
- # test-check (35)
Appena guardato il talk di Rich, sono rimasto un po’ spiazzato. Di solito amo i suoi talks, perchè illuminanti, utili e ragionati
Stavolta ci sento un po’ troppo tribalismo non necessario (“don’t fall to the proof-people”), e bashing poco informato sui type systems
Perchè quando parla di type systems si riferisce a Java e C++, e il loro type system incentiva davvero il coupling (e l’esempio delle 1500 classi in java calza bene)
Ma da come parla sembra che non abbia mai usato un type-system moderno (Haskell, Purescript, Idris). I tipi sono componibili, il problema dei product types è risolto dai row-types (che sono praticamente clojure maps, ma typechecked), e il problema del coupling si evita con i polymorphic types
Ottimo il clima su r/Haskell, un sacco di osservazioni utili: https://www.reddit.com/r/haskell/comments/763su7/in_which_rich_hickey_questions_the_value_of/
E appena visto il talk di @bronsa, assolutamente fantastico 👏👏👏
@nilrecurring ottima analisi, ho visto tanto focus su static vs dynamic di nuovo. Dibattito che per me è chiuso da tempo senza vincitori
Grazie per il link su reddit, imparo imparo imparo 😄
(chi lo guardava quel cartone? Mi pare tmc o MTV non ricordo)
Sono d’accordo sul “senza vincitori”: static e dynamic hanno degli use-cases differenti, e hanno entrambi dei punti validi, quindi davvero non ha senso riaccendere il dibattito
More info sui row types: https://www.reddit.com/r/haskell/comments/4f7fyn/what_are_row_types_exactly/
Il punto chiave che permette di evitare il coupling è structural vs nominal typing
structural = il tipo è definito dalla struttura (come nei row types), nominal = il tipo è definito dal nome che gli si da (come le classi Java)