Sunday, January 29, 2006 

Something new from Bjarne

I have some reflections on good old AT&T proverb "library design is language design", but it's getting late (though it's raining out here). So meanwhile, this will make for a nice (and unrelated) read on the subject: A rationale for semantically enhanced library languages from Bjarne Stroustrup. The man is still the man :-).
By the way, the "Safe C++" example seems directly inspired by my old interview with Bjarne. Ok, ok, I'm not serious about that :-).
Comments:
Trovo interessante il lavoro di Stroustrup attorno a Pivot. Peccato non sia disponibile a tutti. Microsoft sembra si stia muovendo nella stessa direzione con il progetto Phoenix che sara' la base dei prossimi compilatori.
 
Accennavo a Phoenix in un vecchio post (25 luglio 2005). E' sicuramente una cosa interessante, ma parecchio diversa da Pivot.
Phoenix e' un back-end per compilatori. Pivot e' un meccanismo per definire librerie che "diventano" linguaggi con il meccanismo di supersetting / subsetting. In questo senso e' molto piu' vicino ad un front-end del compilatore.
Sono entrambi molto interessanti; in particolare, Phoenix a mio avviso ha il potenziale di trasformare molti tool sperimentali (tipicamente program analysis) che ogni tanto appaiono nelle universita' in tool concretamente utilizzabili dalla comunita' degli sviluppatori.
 
La parte centrale (secondo gli autori) di Phoenix e' una Intermediate Representation (IR) del sorgente che mi pare molto simile alla Internal Program Representation di Pivot. Un Abstract Syntax Tree che tramite le api dei due framework puo' essere visitato allo scopo di analisi o di modificare il sorgente da cui e' stato prodotto. Ed ecco SELL. Ma ammetto di parlare con poca conoscenza delle cose e solo per capirne di piu'.
 
Post a Comment

<< Home