Yabancı işlev arayüzlerini (FFI) ve çoklu dil bağlarını tanımlayan herhangi bir programlama dili teorisi var mı?


Yanıtlar:


17

Jacob Matthews ve Robert Bruce Findler'ın Çok Dilli Programlar için Operasyonel Semantiği makalesi , iki programlama dilinde yazılmış programların semantiğini tanımlamak için, iki dilde tanımlanan ve diğer dilde kullanılan verilere özen gösteren iki yaklaşım sunmaktadır. Götürü gömme diğerinin kod çalıştıran görünmesini bir dilden oluşturulan değerler verir, ancak bunlar sadece ameliyat (ya da belki sadece küçük bir arayüzü tarafından ameliyat) değil, etrafında geçirilebilir vardır. Doğal gömme bir dilde değerleri olarak adlandırılan bir gerçekleştirerek diğer kullanılmak üzere sağlar , diller arası döküm diğer bir dilden değerleri dönüştürür.

Kağıt JNI'yı Işık: Çekirdek JNI için bir ÇALIŞMA MODELİ Gang Tan hediyeler mevcut JNI'yı nasıl çalıştığını resmi bir semantik tarafından. Önceki makalenin aksine, bu, meseleleri temel bir perspektiften araştırmaya çalışmaktan ziyade, neler olup bittiğinin düşük seviyeli ayrıntılarının çoğunu resmileştiriyor.

Michael Furr ve Jeffrey Foster'ın Yabancı Fonksiyon Çağrılarının Tip Güvenliğini Kontrol Etme gibi tür kontrol yabancı işlev çağrıları üzerinde çalışma, aynı zamanda tür sistemini ifade etmek ve sağlamlığını kanıtlamak için resmi bir çerçeve sağlar.

Bu belgelerdeki referanslara bakmak ve google scholar kullanarak nereye atıfta bulunduklarını bulmak, bölgede neler yapıldığının daha ayrıntılı bir resmini keşfetmenize yardımcı olacaktır.


10

Marc'ın yorumunu takiben suçlamadaki kaydı düzeltmek istiyorum. Bakınız, Wadler nedeniyle suçlama kavramını tanıttı ne Findler ve Felleisen , ne de farklı dil, kaynaklanır arasındaki arabuluculuk için suçu tanıtıldı benim 2006 kâğıt .

Bununla birlikte, Marc suçlama konusunda tamamen doğrudur ve Dave'in belirttiği Matthews makalesi de bu konuyu tartışmaktadır.


1
"İyi Yazılmış Programlar" makalesi gerçekten doğru atıflar sağlar ve özel katkısını, bir tip sisteme suçlama (sözleşmelerden) kavramı getirerek sözleşmeler, kademeli türler ve hibrit türlerle ilgili son çalışmaların tek tip bir görünümünü sağlayarak iddia eder. (kademeli ve melez türler için kullanılan ara dillere benzer), evrim türleri dediğimiz bir sistem sağlar. "
sclv

2
Sam, "suçlama" nın kökenleri için pay sahibi olan herkese tam kredi vermediği için özür diler. Wadler'ın birlikte yazdığı ve beni bu fikri tanıtan ve en iyi tanıdığım belgeler oldu .
Marc Hamann

9

Birçoğu açıkça doğrudan ilişkili olmasa da, akla gelen bir şey Wadler ve ark. . Bu, farklı yazma rejimlerini tutarlı bir bütün halinde birleştirmeyi düşünmeniz için teorik bir temel sağlar.

Esasen, suçlama, daha zayıf tip garantileri olan dilleri, güçlü garantilerin tüm avantajlarını kaybetmeden daha güçlü tip garantileri olan dillerle birleştirmenizi sağlar. Fikir, belirli şeyler ters giderse, çalışma zamanı tipi hatalarını yerelleştirerek sistemin daha zayıf garantili parçalarının "suçlama" alacağıdır.

Umarım bunun FFI ve farklı tip sistemlere sahip diller için geçerli olan ciltlemeler için nasıl yararlı olabileceğini görebilirsiniz.

Düzenleme: "Suç" kavramının tam bir entelektüel tarihçesi için Sam TH'nin cevabına bakınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.