logoHaskell-ITA

La comunità Italiana di programmatori Haskell.

Haskell-Day Autunnale a Bologna (2016-11-19)

In un’uggiosa giornata autunnale, venti intrepidi Haskellers provenienti da varie città italiane si sono incontrati a Bologna, ospitati dall’associazione Kilowatt, nella particolare e suggestiva “Gabbia del Leone”, situata nel cuore dei Giardini Margherita.

photo

Seguendo un approccio ormai collaudato, abbiamo formato piccoli gruppi di lavoro, in modo che a ognuno fosse possibile partecipare, in maniera attiva e alla pari, ad uno o più progetti di proprio gradimento - il tutto in maniera estremamente libera e amichevole.

Nuovi Arrivati

Un gruppo di volenterosi newbie si è cimentato su esercizi, presi dall’ottimo Haskell Programming from first principles. Come spesso accade, gli esercizi si sono rivelati tutt’altro che semplici - e un confronto con persone più esperte è stato decisamente utile. Ecco un resoconto di quanto imparato.

photo

Finger Trees

Paol(in)o ha spiegato l’utilizzo dei FingerTree: una struttura dati utilizzata per modellare sequenze - che sono anche alla base del modulo Data.Sequence. Il formato della presentazione è stato molto gradito: circa cinque ascoltatori si sono riuniti intorno ad una lavagna, per delineare differenti ipotesi risolutive. L’interattività della spiegazione ha permesso a tutti di capire meglio l’argomento trattato.

Web Development in Haskell

Si è organizzato un piccolo simposio per discutere della situazione del web-development in Haskell. Abbiamo considerato principalmente le differenze tra l’approccio FRP (reflex) e quello basato su react (react-flux), volgendo particolare attenzione alle differenze di struttura generale e alla componibilità delle strutture create.

photo

Fuga dagli alieni dallo spazio profondo

Abbiamo esplorato i problemi di concorrenza che si possono presentare in un’applicazione di rete, prendendo a pretesto un prototipo di gioco multiplayer online che permettesse ai client di accedere ad una scacchiera condivisa applicando una semplice regola: due utenti non possono stare nella stessa cella. Per fare ciò, abbiamo introdotto un’architettura client/server mediante websocket e uno stato condiviso sul server utilizzando MVar. Dopodiché, abbiamo simulato una race condition - introducendo un tempo di attesa tra il primo controllo di disponibilità della cella e l’effettiva modifica: a questo punto, due client che entravano nella stessa cella contemporaneamente potevano farlo! Sostituendo MVar con TVar - tratto da STM - abbiamo ottenuto il controllo della transazione e la possibilità di individuare modifiche esterne allo stato - che abbiamo deciso di risolvere mantenendo il secondo client fermo nella posizione precedente.

Programmazione Message-Oriented

Un gruppo di persone ha svolto esercizi utilizzando la libreria Quid2, sotto la guida del suo autore: Titto.

Web client e monadi

Ponendosi come obiettivo la realizzazione di un semplice client per le web API di Random.org, un gruppetto di nuovi arrivati ha avuto modo di sperimentare l’I/O in Haskell e - coadiuvati da sviluppatori più esperti - di svolgere un primo approfondimento sulla teoria delle monadi.

Community

Il pranzo insieme, i momenti di retrospective durante il meetup, gli scambi di consulenza fra i diversi gruppi e una gita serale/notturna nel centro di Bologna con degustazione di tigelle hanno permesso a tutti di conoscersi.

Ringraziamo gli autori di Haskell Programming from first principles per averci messo a disposizione alcune copie del libro, regalate poi a cinque fortunati Haskellers, e l’associazione Kilowatt, per averci ospitato.

Haskell Day - Bologna, 19 Novembre 2016

Dove: Bologna, Giardini Margherita, nella struttura “La Gabbia del Leone”, presso “Le Serre dei Giardini”.

Quando: Sabato 19 Novembre, dalle 10:00 alle 18:00.

Chi: chiunque sia interessato alla programmazione funzionale, indipendentemente dal suo livello di esperienza.

Cosa faremo: lavoreremo in gruppi (2-6 persone circa) su diversi progetti. Ogni persona può scegliere il progetto che vuole, saranno date delle indicazioni sul livelo di conoscenza richiesto per contribuire. Lo scopo è provare a utilizzare Haskell per un progetto concreto, “toccare con mano” il modo che hanno altri di lavorare e di condividere le esperienze nelle numerose pause di gruppo. Lo scopo è puramente didattico, quindi nessuna ansia.

Cosa portare: un computer portatile e un ambiente Haskell configurato.

Come arrivare: dalla Stazione Centrale dei Treni di Bologna, prendere l’autobus 33 (frequenza 15 minuti) e scendere alla fermata “Giardini Margherita” e/o “Porta Santo Stefano” (circa 20 minuti di viaggio). Entrare nei Giardini Margherita, dall’ingresso di Via Castiglione 136 o Via Polischi 9, e recarsi presso “Le Serre dei Giardini”, alla struttura “La Gabbia del Leone”.

Grazie a chi: all’associazione Kilowatt che ha messo a disposizione gratuitamente la sala.

Per iscriversi: https://www.metooo.io/e/haskell-day-bologna

Organizzazione Incontro Autunnale Haskell ITA 2016

Votate per il nuovo incontro

Abbiamo aperto due doodle per decidere insieme il luogo e la data del nostro incontro autunnale:

  • Doodle per scegliere Quando
  • Doodle per scegliere Dove

Fateci sapere le vostre preferenze e a presto!

Meetup Firenze (Primavera 2016)

Ci siamo trovati Sabato 26 Marzo, a Calenzano, in provincia di Firenze, ospitati da Develer.

photo

Partecipanti, fila in piedi (a partire da sinistra): Luca Benci, Alberto, Daniele D’Orazio, Carlo Nucera, Nicola Bonelli, Francesco Ariis, Matteo Baglini, Salvatore Veneziano, Marco Santamaria, Emiliano Anichini.

In ginocchio: Pasqualino Assini (Titto), Massimo Zaniboni, Ruggero D’Alò, Vitalij Zadneprovskij, Nadir Sampaoli, Aurelien Rainone, Francesco Gazzetta.

Dietro, a fare la foto: Luca Molteni :-)

Ritrovo alle 10:00, con la sede di Develer pronta a ospitare, nonostante sia il Sabato prima di Pasqua, il nostro terzo meetup: diciotto programmatori appassionati di Haskell, provenienti da tutta Italia, e pronti a condividere una giornata di programmazione funzionale e divertimento.

Dopo un breve sondaggio sulla preparazione tecnica dei presenti, sono stati proposti i seguenti progetti, su cui lavorare a gruppi:

  • Twitter di Titto (meno “poeticamente” una libreria per lo scambio di messaggi tipizzati)
  • Studio dell’articolo di Renzo Carbonara su Opaleye-SOT, che è una libreria Haskell che fa uso di numerose estensioni per supportare query relazionali usando le Arrows in Haskell
  • Contribuire alla soluzione di un issue per Stack
  • Kata di Base
  • HRobots

Read More

Haskell Day Firenze - 26 Marzo 2016

Dove

Sabato 26 Marzo, dalle 10:00 alle 18:00, ospitati da Develer

Develer Srl
via Mugellese 1/A
50013 Campi Bisenzio - Firenze - Italia

Per chi viene in treno:

  • arrivo a Firenze Santa Maria Novella
  • ci sono treni frequenti per Calenzano: 8:28, 8:47; 9:10. Il treno delle 8:47 impiega 24 minuti e non effettua cambi intermedi. Il treno delle 9:10 ferma a Prato, poi bisogna cambiare con il treno che va a Calenzano: 36 minuti di viaggio in totale, comprensivi di 10 minuti di attesa per il cambio.
  • 750 metri a piedi (10 minuti) per raggiungere la sede di Develer Google Map
  • per il ritorno c’è il treno delle 18:14. Anche questo treno si dirige prima a Prato, poi un’attesa di 12 minuti per il cambio, e poi si prende il treno per Firenze. 36 minuti di viaggio in totale, comprensivo di attesa per il cambio. Arrivo alla stazione di Firenze alle 18:50.
  • suggerimenti: oltre a Trenitalia, verificate anche gli orari e le tariffe di Italo. Spesso prenotando con un certo anticipo il biglietto ferroviario, si spende meno rispetto ad un last-minute.

Iscrizione

Link per l’iscrizione

Programma

Dettagli Programma.

Meetup Bologna (Autunno 2015)

Ci siamo trovati a Bologna, Sabato 17 Ottobre, presso T3Lab, e sponsorizzati da BioDec.

photo

Read More

Meetup Milano (Estate 2015)

Ci siamo trovati a Milano, Sabato 4 Luglio, ospitati da Mikamai

Partecipanti:

photo

Da sinistra verso destra: Matteo Acerbi, Ruggero D’Alò, Luca Molteni, Francesco Ariis, Carlo Nucera, Massimo Zaniboni, Stefano Baghino, Vitalij Zadneprovskij.

Read More