- Francesco: un abile conoscitore del linguaggio e della comunità, e probabilmente l'unico in Italia che lo usa veramente.
- Carlo: il nostro mentore, la matematica è il suo pane, e sa calcolare a memoria il numero di implementazioni possibili di una funzione dato un tipo.
- Vitalij: il nostro caro leader, sperduto chissà dove, ma sempre nei nostri cuori
- Luca 1: colui che ha trovato la sala
- Massimo: super appassionato di Haskell, ha in programma di usarci per programmare un esercito di robot per consquistare il mondo.
- Luca 2: L'azienda per cui lavora ha intenzione di passare totalmente alla programmazione funzionale, il solo pensiero di trecento programmatori Haskell ci fa sognare un mondo migliore.
- Ruggero: A.K.A. il modesto - sostiene di conoscere il linguaggio a malapena, ma in realtà conosce a memoria LYAHFGG. Anzi, lo ha scritto lui.
- Matteo: la sua conoscenza e la sua passione ci permettono discussioni di eccellenza.
- Stefano Baghino: la sua presenza rincuora ogni meeting che si rispetti, anche se abbiamo fatto finta di non sapere che è una spia infiltrata
di Oderskydel creatore di Hascalator. - Lo spirito di Chris Done: 'Oh, ma qualcuno mi ha detto che viene'.
- Gianluca di Mikamai: accogliente come un Hobbit, preparato come Alan Kay.
Un caloroso ringraziamento a Mikamai per averci ospitato nella giornata più calda che Milano ricordasse dal 2004, fornendoci addirittura una saletta con condizionatore (invidiatissimo da tutti i presenti)
Si parte all'alba con una sessione di confronto: i partecipanti sono motivati e preparati, francamente non mi aspettavo una partecipazione così calorosa.
Si continua con una sessione introduttiva in stile tutorial tenuta dal grandissimo Carlo, dove si affrontano le basi del linguaggio con qualche esercizio cretino dei 99 esercizi di Haskell [https://wiki.haskell.org/H-99:_Ninety-Nine_Haskell_Problems]
Dopodichè si continua con un momento FP-Sborone
, una implementazione in una riga tail recursive della serie infinita di Fibonacci che avrebbe commosso anche il più esperto dei code golfer.
In breve tempo la discussione si evolve su funtori, funtori applicativi e monadi. Sono argomenti che interessano, e soprattutto non spaventano. C'è anche il tempo per provare a dare tre spiegazioni differenti dei funtori applicativi.
Massimo ci mostra infina come ciliegina della sessione teorica una sua implementazione di una Monade che ha usato in un suo programma per una sua gestione dell'errore ad hoc. Anche qui ci sono spunti interessanti su come migliorare il design.
Mentre Carlo e Massimo cercavano di far compilare la libreria che avrebbe generato il client per i robot, si formano tre coppie per risolvere un esercizio molto semplice preso da github [https://github.com/Gianfrancoalongi/incremental_katas]. Questo ci permette di rinfrescare sintassi e concetti, devo dire che infine le implementazioni sono state più diversificate di quanto credessi.
- L'introduzione è un po' troppo base per dei programmatori Haskell che già lo conoscono un po', anche se dobbiamo trovare un modo per gestire eventuali persone che si presenteranno ai prossimi incontri senza una preparazione di base. Nel caso a turno si faranno delle mini sessioni in parallelo, in modo che gli altri possano andare avanti a programmare.
- I problemi pratici sono molto richiesti: dopo mesi e mesi passati a studiare teoria c'è molta voglia di mettere in pratica assieme quello che si è duramente appreso.
- Gli split tra gruppi aiutano molto nei casi in cui il livello è molto diverso
- Ci piacciono i robot e vogliamo programmarne qualcuno nel tempo libero tra questo e il prossimo incontro
- Su quando incontrarci di nuovo l'idea più votata è stata quella di rifarlo tra un paio di mesi. Questo non vuol dire che nel frattempo staremo senza fare niente.
- Sulla sede ci sono varie idee, ma nessuna definitiva. Una candidata per la prossima sarà Bologna o Reggio Emilia
- Per aiutare le persone che vengono da lontano, si può fare una mini colletta per dare una mano.