Krivine gösteriminin yararı nedir?


9

Bazı insanlar için sözdizimini sunarken fonksiyon uygulaması için Krivine gösterimini kullandığını gördüm λ-calculus. Örneğin,λuzun dönem λf.λx.λy.f x y (işlev uygulamasının solla ilişkilendirildiği normal kuralla, bu aslında λf.λx.λy.((f x) y)) yazılmış λf.λx.λy.(f) x y (benzer bir sözleşmeyle, aslında λf.λx.λy.((f) x) y). En içte başka bir parantez çifti görmüyorumf. İnsanlar neden Krivine'nin notasyonunu normalden ziyade kullanıyor?

Yanıtlar:


13

Krivine'nin Lambda Calculus: Türler ve Modeller'den gösterimi anlamına geldiğini varsayıyorum .

Veri gösterimi olarak kullanılan bu gösterim, lambda terimleriyle ilgili birçok algoritmanın uygulanmasını ve doğrulanmasını kolaylaştırır. Yani, lambda terimi verildiğindefe1e2en, kafa olarak görmek istiyorsun f, bir argüman listesi ile birlikte[e1,e2,,en].

Örneğin, iki terimi karşılaştırmak istediğinizi varsayalım fe1en ile gt1tn. Kafaları karşılaştırmak çoğu zaman doğaldırf ve g Önce ve hatta (ei,ti)karşılaştırma başarılı olmadıkça çiftler. (Bu genellikle üst düzey birleştirme uygulamalarında ortaya çıkar.)

Bu fikrin resmileştirilmesi için Cervesato ve Pfenning'in Doğrusal Omurga Analizi makalesine bakınız .


0

İlginç bir fark, Krivine kitabının 2. Bölümünde Bölüm 2 "Temsil edilebilir işlevler" de ortaya çıkmaktadır. Kilise kodlu üç standart gösterimdeλ x. λ y. x (x (x y)). Krivine'nin notasyonu ile (nihayet doğru anlıyorsam!), Bunun yerine yazardıkλx λy (x)(x)(x)y.

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.