Saya telah membaca tentang perpustakaan yang ditulis orang untuk bahasa seperti Java dan C # yang menggunakan tenun kode byte untuk melakukan hal-hal seperti panggilan fungsi intersep, memasukkan kode logging, dll. Saya juga membaca di Lisp / Clojure macro di sebuah mencoba untuk lebih memahami bagaimana memanfaatkannya. Semakin banyak saya membaca tentang makro, semakin banyak sepertinya mereka menyediakan fungsionalitas yang sama dengan perpustakaan byte code tenun. Secara fungsional, maksud saya kemampuan untuk memanipulasi kode pada waktu kompilasi.
Contoh perpustakaan yang telah saya lihat adalah AspectJ, PostSharp, dan Cecil.
Adakah yang bisa dilakukan dengan yang satu dan bukan yang lain? Apakah mereka benar-benar memecahkan masalah yang sama atau apakah saya membandingkan apel dan jeruk?