logoHaskell-ITA

La comunità Italiana di programmatori Haskell.

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.

Studio di codice Haskell high-level

La libreria Haskell-MVC scritta da Gabriel Gonzalez, è un ottimo esempio di codice Haskell d’alto livello, scritto da una persona sicuramente intelligente e che padroneggia il linguaggio. La libreria è usata in questo post solo come punto di partenza e pretesto per capire quanto sia facile o difficile studiare il codice Haskell scritto da altri, e non verrà trattata nella sua interezza, anzi quasi per niente.

La libreria definisce una View come

> import Data.Monoid (Monoid(mempty, mappend, mconcat), (<>), First)
> import qualified Data.Monoid as M
> 
> newtype View a = AsFold (FoldM IO a ())

FoldM è un data-type definito in Control.Foldl.

Read More

Un semplice script con Turtle per gestire i file RAW+Jpeg della macchina fotografica.

Ecco una semplice soluzione a un problema comune utilizzando una libreria per fare degli script in Haskell.

In fotografia spesso si decide di memorizzare le proprie foto digitali in un formato chiamato RAW, che possiamo pensare come un equivalente di un rullino di un po’ di tempo fa. I file RAW sono a tutti gli effetti i dati registrati dal sensore della macchina fotografica digitale.

Read More

Proposte per attività collaborative

E` possibile partecipare ai progetti proposti in elenco.

Read More

Integer Hypothenuses

Tutto iniziò in chat #haskell.it. f-a chiede aiuto a meditans, il matematico del gruppo, su un esercizio tratto da Progamming Praxis:

“Your task is to write a program that returns all the numbers less than some limit (think somewhere in the millions or tens of millions) that can be the hypotenuse of a right triangle with integer sides. Strive for the minimum possible run time for your program.”

Read More

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

Editors e IDE per Haskell

Contesto

Queste sono note pratiche, per chi sta imparando Haskell, e vuole partecipare ai meetups con un ambiente di sviluppo funzionante.

Overview

Al momento (2015-10-07) non esiste un editor/IDE per Haskell che sia semplice da installare, completa come features, ma esente da problemi nel passaggio da Cabal puro a Stack.

Le soluzioni semplici da installare, non hanno features più o meno indispensabili quando si inizia a fare sul serio, e le soluzioni avanzate non sono semplici da configurare, dato che usano diversi tools e al minimo problema, bisogna “aprire il cofano”. Inoltre Stack è uscito da poco e le IDE non si sono ancora completamente aggiornate.

Quindi se stai imparando Haskell, il consiglio è quello di iniziare con un editor semplice, dato che eviterai di perdere più tempo a configurare l’ambiente di sviluppo che ad imparare il linguaggio, e per scrivere i primi programmi in Haskell serve veramente poco come editor, dato che sta tutto in un file. Nel mentre la situazione lato IDE migliorerà.

Read More

Installazione ambiente Haskell

Contesto

Queste sono note pratiche, per chi sta imparando Haskell, e vuole partecipare ai meetups con un ambiente di sviluppo funzionante.

Installazione

Per agevolare eventuali problemi di installazione e di tooling nel nostro prossimo incontro, abbiamo deciso di creare tutti un ambiente simile basato su Stack, il tool recentemente sviluppato da FPComplete che si occupa dell’installazione del compilatore (ghc) e delle librerie.

Read More