Makalah Operasional Semantik untuk Program Multi-Bahasa
oleh Jacob Matthews dan Robert Bruce Findler menyajikan dua pendekatan untuk mendefinisikan semantik program yang ditulis dalam dua bahasa pemrograman, merawat data tertentu yang didefinisikan dalam satu bahasa dan digunakan dalam yang lain. The benjolan embedding memungkinkan nilai-nilai yang dibuat dalam satu bahasa ke bahasa muncul dalam kode lain yang berjalan, tetapi ini hanya bisa dilalui sekitar, tidak dioperasikan pada (atau mungkin dioperasikan oleh hanya antarmuka kecil). The embedding alami memungkinkan nilai-nilai dalam satu bahasa yang akan digunakan dalam lain dengan melakukan apa yang disebut cor lintas bahasa , yang mengubah nilai dari satu bahasa ke bahasa yang lain.
Makalah JNI Light: Model Operasional untuk Core JNI oleh Gang Tan menyajikan semantik formal tentang cara kerja JNI yang ada. Berbeda dengan makalah sebelumnya, ini adalah formalisasi banyak detail tingkat rendah dari apa yang terjadi, daripada mencoba untuk mengeksplorasi masalah dari perspektif dasar.
Bekerja pada panggilan fungsi asing jenis-memeriksa, seperti Memeriksa Jenis Keamanan Panggilan Fungsi Asing oleh Michael Furr dan Jeffrey Foster, juga menyediakan kerangka kerja formal di mana untuk frase sistem tipe dan membuktikan kesehatannya.
Melihat referensi dalam makalah ini dan menemukan di mana mereka dikutip menggunakan google scholar akan membantu Anda menemukan gambaran yang lebih menyeluruh tentang apa yang telah dilakukan di daerah tersebut.
Meskipun banyak yang tidak secara langsung berhubungan, satu hal yang terlintas dalam pikiran adalah konsep "menyalahkan" oleh Wadler et al. . Ini memberi Anda dasar teoritis untuk berpikir tentang menggabungkan rezim pengetikan yang berbeda menjadi satu kesatuan yang koheren.
Pada dasarnya, menyalahkan memungkinkan Anda untuk menggabungkan bahasa dengan jaminan jenis yang lebih lemah dengan bahasa yang memiliki jaminan jenis yang lebih kuat tanpa kehilangan semua manfaat dari jaminan yang kuat. Idenya adalah bahwa bagian-bagian dari sistem dengan jaminan yang lebih lemah akan mendapatkan "kesalahan" jika hal-hal tertentu salah, melokalkan kesalahan tipe runtime.
Semoga Anda bisa melihat bagaimana itu mungkin berguna untuk FFI dan binding yang berlaku untuk bahasa dengan berbagai jenis sistem.
Sunting: Lihat jawaban Sam TH untuk sejarah intelektual yang lebih lengkap tentang konsep "menyalahkan".
sumber