Apakah ada kalkulus SKI yang diketik?

26

Sebagian besar dari kita tahu korespondensi antara logika kombinasi dan kalkulus lambda . Tapi saya belum pernah melihat (mungkin saya belum melihat cukup dalam) setara dengan "combinator yang diketik", sesuai dengan kalkulus lambda yang diketik sederhana. Apakah hal seperti itu ada? Di mana orang dapat menemukan informasi tentang itu?

Hugo Sereno Ferreira
sumber
Anda mungkin tertarik dengan Monad Pembaca dan Penghapusan Abstraksi di Monad. Pemimpin, Edisi 17 . Pembaca monad (atau lebih tepatnya fungsi aplikasinya) terkait erat dengan mengetik SKI.
Petr Pudlák

Jawaban:

18

Kelengkapan ekspresif dari combinator yang diketik dibandingkan dengan kalkulus lambda yang diketik sederhana telah ditunjukkan . Untuk setiap combinator yang tidak diketik, seseorang membutuhkan seluruh keluarga dari combinator yang diketik. Sebagai contoh, seseorang memiliki

  • Iαα
  • Kα(βα)
  • Sα(βγ)(αβ(αγ))

untuk semua kombinasi tipe sederhana , dan γ .α,βγ

Atau, anggap saja tipe-tipe tersebut sebagai skema tipe (atau tipe polimorfik) dan masukkan ke dalam Haskell dan voila: combinators .

Dave Clarke
sumber
S
S<*>pureK
SSapΛX.αX