Common Lisp Macro/3

In quest’ultima puntata della miniserie daremo uno sguardo ad una serie di tipologie di macro meno comuni ma che ci permettono di costruire dei costrutti molto versatili e potenti. Cercheremo di capire infine quando è preferibile non utilizzare una macro per astrarre pattern di codice del nostro software.

[Read more...]

Common Lisp Macro/2

In questa seconda parte vedremo alcuni utilizzi delle macro in Common Lisp
e discuteremo due problemi tipici: la cattura accidentale di nomi (variable capture) e la valutazione
multipla.

[Read more...]

La Summer Of Code italiana

Abbiamo già
parlato del Google Summer
of Code
(in seguito SoC), un programma di Google che finanzia
progetti liberi e più generalmente open source, dando l’opportunità
a studenti di ogni grado di partecipare allo sviluppo di tali
progetti. Il SoC, inoltre, permette agli studenti di conoscere e introdursi nella vita molto peculiare di una
community che ha come obiettivo lo sviluppo di un progetto open
source.

Il SoC rappresenta un’opportunità anche per le organizzazioni
no-profit che promuovono software open source (es. l’Apache
Foundation), le quali beneficiano dell’apporto di nuove energie e
soprattutto di nuovo codice, nuove funzionalità, bug fixing, etc.

Diamo quindi visibilità a studenti e mentor italiani che partecipano
al Google Summer of Code edizione 2008, descrivendo brevemente le
loro proposte, che spaziano su diversi argomenti come: grafica
3D, Security, DSP, GIS, Desktop Environment oppure danno qualità
industriale e robustezza a strumenti e progetti innovativi ma meno
mainstream come Squeak e Haskell, Open Street Map e Blender.

[Read more...]

Common Lisp Macro/1

Tra le funzionalità che rendono il Common Lisp un linguaggio molto
potente e differente
da quelli più diffusi, vi sono
le macro.Una notazione ed una sintassi con poche regole ed un sistema di
lettura, compilazione e esecuzione del codice molto flessibile danno
allo sviluppatore la possibilità di astrarre un pattern di codice in
un nuovo costrutto, laddove tale pattern non può essere astratto con
una tradizionale funzione. I lettori che già conoscono il Common Lisp
possono saltare il prossimo paragrafo, nel quale ne sono riassunte
brevemente le basi. Coloro i quali vogliono approfondire o conoscere le macro in Scheme possono visionare le Avventure di un Pythonista in Schemeland 8, 9,10 e 11.
[Read more...]