Ho letto delle biblioteche che le persone hanno scritto per linguaggi come Java e C # che fanno uso della tessitura del codice byte per fare cose come intercettare chiamate di funzioni, inserire codice di registrazione, ecc. Ho anche letto su macro Lisp / Clojure in un cercare di capire meglio come utilizzarli. Più leggo sulle macro, più sembra che forniscano lo stesso tipo di funzionalità delle librerie di tessitura a codice byte. Per funzionalità intendo la capacità di manipolare il codice in fase di compilazione.
Esempi di librerie che ho esaminato sarebbero AspectJ, PostSharp e Cecil.
C'è qualcosa che si può fare con l'uno e non con l'altro? In realtà risolvono gli stessi problemi o sto confrontando mele e arance?