logoHaskell-ITA

La comunità Italiana di programmatori Haskell.

Data science and functional programming

Dove: Online, il link alla diretta arriverà per email agli iscritti poco prima dell’inizio.

Quando: Martedì, 16 marzo 2021

Chi: Chiunque sia interessato al rapporto tra data science e programmazione funzionale.

Cosa faremo: Data science: è sulla bocca di tutti, è stato per anni uno dei lavori più ambiti del settore ma gira molta confusione.

In questo talk analizziamo alcuni concetti chiave in Data Science e come certi compiti siano facilmente formulabili in termini funzionali (es. map/reduce, batch filtering, operazioni aggregate etc.). Nel talk terremo un workshop pratico introducendo Apache Spark e Apache Arrow e verrà brevemente presentato il linguaggio Scala, un solido linguaggio multi-paradigma, fortemente funzionale, basato sulla JVM e adatto per la data science.

Speaker: Enrico Trombetta

  • https://www.linkedin.com/in/erolm-a/
  • https://twitter.com/erolm_a

Enrico Trombetta è uno studente laureando all’università di Glasgow.

Ha lavorato come data scientist intern a Morgan Stanley e come stagista ricercatore nel Glasgow Representation and Information Learning Lab su Knowledge Graph linguistici e Agenti Conversazionali (comunemente detti chatbot).

È membro di Haskell ITA da un anno circa.

Cosa portare: Tanta curiosità e voglia di imparare

Grazie a chi: CodeGarden Roma, The Communities Bay

Per iscriversi: eventbrite

TAPAS 2 Theoretical And Practical Aspects of Software - Roma, 26 gennaio 2019

Dove: Aula Seminari, III piano, Via Salaria, 113, 00198 Roma RM, Italia

Quando: Sabato 30 marzo 2019 dalle 10:30 alle 13:00

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

Cosa faremo: Il seminario si propone di: * discutere aspetti teorici e tecnologie emergenti nell’ambito dei Linguaggi di Programmazione * creare un punto d’incontro, confronto e discussione tra ricerca accademica e professionisti.

Ci saranno tre presentazioni da mezz’ora ciascuna e mezz’ora di tavola rotonda alla fine.

Programma:

  • Lorenzo Perticone “Monadi e Monad Transformers”
  • Giovanni Garufi “Il framework QuickCheck”
  • Epifanio: “Ownership e borrowing: la gestione della memoria nel linguaggio Rust.” (parte II)

Cosa portare: Tanta curiosità e voglia di imparare

Grazie a chi: Dipartimento di Informatica

Per iscriversi: metooo.io

TAPAS Theoretical And Practical Aspects of Software - Roma, 26 gennaio 2019

Il primo evento TAPAS si è svolto a Roma ed ha avuto due interventi: uno su Haskell relativo alla generazione dei numeri primi ed uno su Rust riguardante ownership e borrowing.

La mailing list di TAPAS è qui, il canale Slack per le discussioni relative a TAPAS è all’interno di quello di Code Garden Roma.

Il prof. Salvo ha parlato del suo articolo riguardante la generazione dei numeri primi facendo uso di liste lazy.

In particolare ha discusso una soluzione al “Crivello di Eratostene” che fa uso della generalizzazione ai “Numeri di Hamming” per filtrare i primi.

Il suo lavoro ha mostrato come Haskell e la lazyness si prestano a definire una corrispondenza molto stretta fra descrizione teorica della soluzione e algoritmo effettivo, per ottenere risultati piu’ efficienti degli algoritmi ottimizati tradizionali.

Inoltre ha fatto notare come il compilatore puo’ riservare delle strane sorprese in termini di efficienza…

photo

Il riepilogo degli argomenti trattati è questo:

photo

Nell’intervento dedicato a Rust si è parlato di come viene gestita la memoria, dei puntatori mutabili ed immutabili.

photo

Alla fine si è concordato sul fare un evento TAPAS ogni due mesi.

TAPAS Theoretical And Practical Aspects of Software - Roma, 26 gennaio 2019

Dove: Aula Seminari, III piano, Via Salaria, 113, 00198 Roma RM, Italia

Quando: Sabato 26 gennaio 2019 dalle 10:30 alle 12:30

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

Cosa faremo: Il seminario si propone di discutere aspetti teorici e tecnologie emergenti nell’ambito dei Linguaggi di Programmazione e creare un punto d’incontro, confronto e discussione tra ricerca accademica e professionisti.

Ci saranno tre presentazioni da mezz’ora ciascuna e mezz’ora di tavola rotonda alla fine.

Programma:

  • Ivano Salvo: Computazione Lazy: Crivello di Eulero in Haskell (Functional Pearl)
  • Epifanio: Ownership e borrowing: la gestione della memoria nel linguaggio Rust.
  • Lorenzo Perticone: Monadi e Monad Transformer.
  • Tavola rotonda sul futuro del seminario/gruppo su TAPAS.

Cosa portare: tanta curiosità e voglia di imparare

Grazie a chi: Dipartimento di Informatica

Per iscriversi: metooo.io

Haskell Day - Milano, 1 Luglio 2018

Dove: Milano, Via Giulio Venini, 42, 20127 Milano (MI), IT

Quando: Domenica 1 Luglio, dalle 10:00 alle 16:00.

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

Cosa faremo: L’ultimo weekend di Giugno ci incontriamo a Mikamai per condividere le nostre esperienze nello sviluppo con Haskell. Ci saranno anche due ospiti che lavorano in Purescript (e Haskell) molto preparati: Fabrizio Ferrai e Justin Woo. Justin terrà anche una presentazione in inglese:

Superior string spaghetti with purescript-jajanmen

In this talk, Justin will talk about how PureScript can now parse type level strings by deconstructing them with Symbol Cons and match on overlapping instances using instance chains. With these techniques, he’ll demonstrate how he makes better string spaghetti with his library Jajanmen to synthesize row types from symbols.​

Questa è invece la presentazione di Fabrizio:

Purely Functional DevOps with Dhall

Functional programming is now mainstream in Software Development. Does the same trend apply to Operations as well? Kind of: the DevOps culture is bringing to the table declarative configurations with Infrastructure-as-Code deployments, but this usually happens by employing either full-fledged programming languages or simple data languages (JSON is nicer to type down than XML, but still)…can we do better? In this talk we’ll see how to avoid Turing-completeness and leverage Dhall - a strongly typed, total functional language - to get safety, modularity and reusability while still being able to do dangerous things like template configurations and spin up cloud machines.

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

Grazie a chi: MIKAMAI e LinkMe che hanno messo a disposizione gratuitamente la sala.

Per iscriversi: metooo.io

Haskell-Day Roma (2017-11-18)

L’Haskell day autunno 2017 si è svolto a Roma, nei locali di LUISS ENLABS, vicino alla Stazione Termini. Ringraziamo LUISS Enlabs e Codemotion, in particolare Innocenzo Sansone, che ci ha dedicato l’intera giornata, rendendo possibile questo evento.

Questo meetup è stato il secondo a tenersi nel centro Italia, dopo Firenze, e ha visto la particepazione di nuovi programmatori decisi ad avvicinarsi ad Haskell.

Il gruppo Beginners è stato seguito da Luca, sui passi della presentazione Introduzione ad Haskell (se non c’eravate ma volete una prima infarinatura, potete sempre vedere il video registrato all’edizione bolognese dell’Haskell Day).

photo

Dopo la presentazione di Luca, nel gruppo beginners, sotto la guida di Vitalij, Ruggero, Renzo, Francesco e Stefano, sono stati svolti degli esercizi dedicati a list comprehension e alle funzioni di ordine superiore filter, map e foldl: tracce degli esercizi e testi unitari

photo

Gli altri partecipanti si sono concentrati su vari progetti, tra cui un interprete scheme sviluppato in Haskell, perfezionamento di un frontend scritto in Elm (un linguaggio cugino di Haskell) e molte riflessioni sullo stato della programmazione funzionale sia pura che per linguaggi orientati su altri paradigmi.

photo

Siamo molto soddisfatti dalla nostra prima esperienza romana, sia per aver conosciuto nuovi programmatori funzionali, sia per aver rivisto i partecipanti alle scorse edizioni!

Ringraziamo di cuore tutti i partecipanti e contiamo di ritrovarvi tutti presto al prossimo evento!

Haskell Day - Roma, 18 Novembre 2017

Dove: LUISS ENLABS, Via Marsala 29/H, terzo piano, 00185 Roma

Quando: Sabato 18 Novembre, dalle 09: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 di lavorare altrui 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.

Grazie a chi:

Per iscriversi: eventbrite.it

Haskell-Day Inverno a Milano (2017-02-25)

Per questo meeting ci siamo ritrovati a Milano in Venini 42, gentilmente ospitati da Mikamai e LinkMe.

photo

I progetti

Beginners

Il gruppo di chi ha deciso di avvicinarsi al linguaggio è stato seguito da Luca, procedendo lungo la traccia della presentazione “Introduzione ad Haskell”. Durante la giornata le nuove leve hanno svolto esercitazioni sulla definizione di nuovi tipi, implementato Type Class e intuito così la definizione di Monade.

Haskell Internals

Titto ha illustrato la problematica dell’ottimizzazione e dell’efficienza in Haskell e gli strumenti per risolvere questo problema. Partendo da un esempio concreto (una serializzazione di dati sfruttando i generics), il gruppo ha visto come dare indicazioni efficaci al compilatore e come varia l’efficienza all’aumentare della complessità dei tipi. Gran parte del tempo è stata impiegata commentando e analizzando Core, il linguaggio generato dal compilatore come passo intermedio fra il programma Haskell e il codice binario.

Reflex

Carlo ha presentato la libreria FRP Reflex, illustrandone i tipi di base, il paradigma di funzionamento e le potenzialità. Il gruppo ha installato reflex-dom attraverso nix e svolto un piccolo esempio per vedere Reflex in azione.

Web service

Un gruppo di livello intermedio si è focalizzato sulla realizzazione di un webservice usando il framework Servant. La API Rest proposta era molto semplice, affinché fosse possibile realizzarne una implementazione completa nel limitato tempo a disposizione, potendosi quindi rendere conto della maggior parte degli aspetti tecnici legati a un lavoro di questo tipo: definizione delle rotte e dei controller ad esse legati, mantenimento dello stato del server (per semplicità si è optato per una MVar anziché usare un database esterno), codifica dell’output del servizio. A metà pomeriggio si aveva un prototipo funzionante, e i più avventurosi si sono addirittura cimentati nella scrittura di un frontend con Elm. Il codice prodotto è disponibile su github.

Haskell Day - Milano, 25 Febbraio 2017

Dove: Milano, Via Giulio Venini, 42, 20127 Milano (MI), IT

Quando: Sabato 25 Febbraio, dalle 09: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 di lavorare altrui 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.

Grazie a chi: MIKAMAI e LinkMe che hanno messo a disposizione gratuitamente la sala.

Per iscriversi: metooo.io

Organizzazione Incontro Invernale Haskell ITA 2017

Votate per il nuovo incontro

Abbiamo aperto un doodle per decidere insieme la data del nostro incontro invernale 2016/2017:

Dove: Milano, Via Giulio Venini, 42, 20127 Milano (MI), IT

Verremo ospitati da Mikamai (dove si è svolto il primo incontro di Haskell ITA!)

Fateci sapere le vostre preferenze e a presto!