This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-23
Channels
- # bangalore-clj (5)
- # beginners (136)
- # boot (1)
- # bristol-clojurians (6)
- # cider (46)
- # cljs-dev (172)
- # cljsrn (35)
- # clojure (82)
- # clojure-china (2)
- # clojure-dev (9)
- # clojure-dusseldorf (1)
- # clojure-finland (15)
- # clojure-italy (54)
- # clojure-norway (4)
- # clojure-russia (6)
- # clojure-spec (19)
- # clojure-uk (61)
- # clojurebridge (1)
- # clojurescript (55)
- # community-development (23)
- # cursive (7)
- # datomic (19)
- # emacs (10)
- # events (4)
- # fulcro (108)
- # graphql (7)
- # hoplon (1)
- # leiningen (7)
- # lumo (14)
- # off-topic (68)
- # onyx (23)
- # parinfer (8)
- # portkey (40)
- # precept (11)
- # re-frame (5)
- # reagent (40)
- # ring-swagger (5)
- # shadow-cljs (58)
- # specter (5)
- # tools-deps (37)
- # unrepl (13)
- # vim (9)
- # yada (12)
buondì. Chas Emerick illuminato sulla via di Damasco? 😄 (@nilrecurring) https://www.reddit.com/r/haskell/comments/867dq2/haskell_has_grown_and_changed_in_amazing_ways/
reddit sembra molto meglio di quello che mi ricordavo in passato, quando ho deciso di non leggerne piu'
@reborg per quanto mi riguarda, dipende. /r/emacs è quasi illegibile, 9 volte su 10 le discussioni deragliano e perdo la voglia.
Io seguo anche r/rust, molto positivo
@manuel l’illuminazione si spande 😄
Penso che sia stato fondamentale il talk di Rich in questo senso, mi sembra che le community Clojure e Haskell si siano riavvicinate
Ovviamente anche l’introduzione di spec
Potrebbe essere la mia bolla, ma vedo molti più crossover (e io stesso sto facendo circa 50%-50%)
E portando la discussione più sul filosofico: penso ci siano due risposte comuni al problema del "refactoring su grandi codebases con dynamic typing è impossibile": 1. Uncle Bob way "dobbiamo educare i programmatori" 2. Static typing "perché devo faticare su un lavoro che il compilatore dovrebbe fare per me"
Mi sembra che stiamo finalmente transizionando dalla 1 alla 2 (o ancora, potrebbe essere la mia bolla)
personalmente penso che spec, per quanto non la risposta finale, sia piu' vicino al trade off ideale tra tooling e flessibilita' che non haskell
3. tooling per refactoring con dynamic typing e' possibile ma non (almeno con Clojure) non ci siamo
@skuro quando hai usato Haskell l’ultima volta? Fare “speccing” è 10 volte meno verboso che con spec, e gli errori del compilatore sono effettivamente leggibili (cosa che non succede in spec, non ancora perlomeno)
gli errori del compilatore che conosco io di haskell sono un poco meno esoterici di spec, ma magari sono io
Come il nostro Chas Emerick si è accorto, Haskell è evoluto parecchio ultimamente
Personalmente (e per quello che ho visto fare ad altri) uso la REPL in Haskell almeno quanto la uso in clojure, non è certamente la stessa esperienza di “static typing” che si ha in Java per dire
(con il vantaggio addizionale che se voglio sapere cosa mi ritorna una funzione anzichè provarla con un paio di casi, posso chiedere il tipo alla repl con :t myFunction
)
E questo è buono
È ottimo. E se il tipo che ti viene printato non ti dice nulla, si va su Hackage perchè lì puoi cliccare sui Tipi e ti porta alla definizione, dove sono anche raccolte le interfacce (che si chiamano TypeClass) che il tipo implementa
Oh tipo ! 😄 😃 mi manca un po' l'Italia tamarra ahah
Ahah, idem 😄
Gli errori del compilatore non sono il migliore dei mondi possibili (altri linguaggi come Elm, Rust e Dhall si stanno avvicinando all’ottimo), e richiedono un po’ di abitudine
Ma li trovo molto meno orribili di spec, che a volte mi suscita un po’ di table-flip-feeling
Ho avuto un'esperienza Haskell di circa 8 mesi 4 anni fa. Il ricordo non gradevole che ho riguarda il processo di sviluppo che forza a pensare ai tipi prima di tutto (modello carta penna calma e gesso). Il processo poi diventa iterativo, ogni volta che l'astrazione dei tipi richiede estensione/evoluzione. A me sembra che la ragione principale per il type-first sia piu' che altro per ammiccarsi il compilatore. Non so poi come si arriva a pensare che il compilatore rimuove lavoro per me 🙂 Magari ho avuto cattivi mentors, ma il compilatore per ora lo vivo come distrazione, esattamente come il trattamento forzato dei side-effects.
anche se la mia esperienza con haskell è zero
Cioè, ho letto solo YAHT
@reborg prima di arrivare al progetto attuale, l’ultima volta che avevo provato Haskell è stato 3 anni fa, e appunto l’esperienza non era il massimo. Ma nel frattempo è successo CommercialHaskell, ed è un altro mondo, sia come tooling che come maturità dell’ecosistema
E sono d’accordo anche sul fatto del mentore giusto: per come mi hanno abituato i tipi sono lì per definire le aspettative giuste più che per modellare il business domain
Piu' che contento di lavorare ancora con Haskell in futuro. Passano anni, l'esperienza cambia cosi' pure l'atteggiamento verso certe cose.
argomento meglio: non posso fare paragoni seri con Clojure finché non tiro su un progetto di piccole-medie dimensione (i.e. web app). Solo così posso fare un confronto ragionato. Però posso dire che Emacs+Intero non ha niente da invidiare a Emacs+CIDER per ora.
coi tipi (per ora) mi trovo, e il REPL-driven development è soddisfacente come con Clojure.
Questa per me è la cosa più importante di tutte ...se è come dici mi sa che ci inizio a giocare
Consigliato 🙂
Dai un’occhio anche a PureScript, è un po’ il ClojureScript di Haskell
Avevo dato un occhiata, ma mi piacerebbe produrre asm per una volta
ma ripeto: niente paragoni seri senza un po' più di esperienza solida con Haskell sulle spalle.
qualcuno sa come abilitare la code completion inf-clojure? mi sa mi sto perdendo qualcosa
@gabriele.carrettoni ti ho risposto in #inf-clojure. Ci sto lavorando da un po' e per ora è molto manuale
Spero di avere un po' di tempo questo weekend
@richiardiandrea grazie per la risposta, aspetterò l'update allora.
Purtroppo per ora pochi contribuiscono ad inf-clojure, sottovalutato 😃