Hesaplanabilir Fonksiyonları Programlama - Programming Computable Functions

Gelen bilgisayar bilimleri , hesaplanabilir fonksiyonlar Programlama (PCF) bir olduğunu yazdınız işlevsel dil tarafından tanıtılan Gordon Plotkin önceki yayımlanmamış malzemeye dayanan 1977 yılında, Dana Scott . Yazılan lambda hesabının genişletilmiş bir versiyonu veya ML veya Haskell gibi modern yazılan fonksiyonel dillerin basitleştirilmiş bir versiyonu olarak düşünülebilir .

Bir tam arka PCF modeli, ilk olarak verildi Milner (1977). Bununla birlikte, Milner'ın modeli esas olarak PCF sözdizimine dayandığından, yetersiz olarak kabul edildi (Ong, 1995). Sözdizimi kullanmayan ilk iki tamamen soyut model 1990'larda formüle edildi. Bu modeller oyun semantiğine (Hyland ve Ong, 2000; Abramsky, Jagadeesan ve Malacaria, 2000) ve Kripke mantıksal ilişkilerine (O'Hearn ve Riecke, 1995) dayanmaktadır . Bir süre, bu modellerin hiçbirinin tam olarak tatmin edici olmadığı hissedildi, çünkü bunlar etkili bir şekilde sunulabilir değildi. Bununla birlikte, Ralph Loader , PCF'nin sonlu parçasındaki program denkliği sorunu kararlaştırılamaz olduğundan, etkin bir şekilde sunulabilir tamamen soyut bir modelin var olamayacağını gösterdi.

Sözdizimi

Türleri PCF indüktif olarak tanımlanmaktadır

  • nat bir türdür
  • σ ve τ türleri için bir στ türü vardır.

Bir içerik çiftlerin bir listesi x şu şekilde hesaplanır: , X değişken adım ve σ bir değişken adı iki kez, örneğin bir türüdür. Daha sonra, aşağıdaki sözdizimsel yapılar için bağlam içindeki terimlerin yazım yargılarını olağan şekilde tanımlar:

  • Değişkenler (eğer x : σ Γ bağlamının bir parçasıysa , o zaman Γx  : σ )
  • Uygulama ( στ türündeki bir terimden σ türündeki bir terime )
  • λ-soyutlama
  • Y, sabit nokta combinator (tip koşullarını yapma σ türü açısından üzerinden σσ )
  • nat ve 0 sabitinde ardıl ( succ ) ve öncül ( pred ) işlemleri
  • Yazma kuralıyla koşullu if :
( nat s burada sıfır gerçeği ifade eden ve diğer herhangi bir sayı yanlışlığı ifade eden bir kuralla boolean olarak yorumlanacaktır)

anlambilim

düz anlambilim

Dil için nispeten basit bir anlambilim, Scott modelidir . Bu modelde,

  • Türler belirli etki alanları olarak yorumlanır .
    • (düz sıralama ile bitişik bir alt elemanlı doğal sayılar)
    • etki olarak yorumlanır Scott-sürekli gelen fonksiyonlara göre noktasal sipariş ile.
  • Bir bağlam ürün olarak yorumlanır
  • Bağlamdaki terimler sürekli işlevler olarak yorumlanır
    • Değişken terimler projeksiyon olarak yorumlanır
    • Lambda soyutlaması ve uygulaması, alanlar ve sürekli fonksiyonlar kategorisinin kartezyen kapalı yapısından yararlanılarak yorumlanmıştır.
    • Y , argümanın en az sabit noktası alınarak yorumlanır

Bu model PCF için tamamen soyut değildir; ancak PCF'ye bir paralel veya operatör eklenerek elde edilen dil için tamamen soyuttur (aşağıdaki Hyland ve Ong 2000 referansında s. 293).

Notlar

  1. ^ "PCF, Scott'ın hesaplanabilir işlevler mantığı olan LCF'ye dayanan, hesaplanabilir işlevler için bir programlama dilidir" ( Plotkin 1977 ). Hesaplanabilir Fonksiyonların Programlanması ( Mitchell 1996 )tarafından kullanılır. Ayrıca Hesaplanabilir İşlevlerle Programlama veya Hesaplanabilir İşlevler için Programlama dili olarak da adlandırılır.

Referanslar

Dış bağlantılar