มีแคลคูลัส SKI ที่พิมพ์หรือไม่


26

ส่วนมากของเรารู้ว่าการติดต่อระหว่างcombinatory ตรรกศาสตร์และแลมบ์ดาแคลคูลัส แต่ฉันไม่เคยเห็น (บางทีฉันไม่ได้ดูลึกพอ) เทียบเท่ากับ "combinators ที่พิมพ์" ซึ่งสอดคล้องกับแคลคูลัสแลมบ์ดาที่พิมพ์ได้ง่าย สิ่งนั้นมีอยู่จริงหรือไม่? เราจะหาข้อมูลเกี่ยวกับมันได้จากที่ไหน?


คุณอาจจะสนใจในการอ่าน Monad และนามธรรมกำจัดในMonad.Reader, ฉบับที่ 17 Monad ของ Reader (หรือแม่นยำมากขึ้นของ functor ประยุกต์) เกี่ยวข้องอย่างใกล้ชิดกับ SKI พิมพ์
Petr Pudlák

คำตอบ:


18

ความสมบูรณ์ที่แสดงออกของ combinators ที่พิมพ์เมื่อเทียบกับแคลคูลัสแลมบ์ดาที่พิมพ์ออกมาได้ถูกแสดงให้เห็นแล้ว สำหรับผู้รวบรวมที่ไม่มีการพิมพ์แต่ละคนต้องการผู้รวบรวมที่พิมพ์ทุกคนในครอบครัว ตัวอย่างเช่นหนึ่งมี

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

สำหรับชุดค่าผสมประเภทและทั้งหมดα,βγ

อีกวิธีหนึ่งก็คิดว่าประเภทเป็นรูปแบบประเภท (หรือประเภท polymorphic) และใส่ไว้ใน Haskell และ voila: combinators


ฉันไม่เคยคิดว่าทำหน้าที่เป็น Monad! เป็นอย่างนั้นเหรอ? S
Hugo Sereno Ferreira

อันที่จริงผมได้รับการชี้ให้เห็นว่าสอดคล้องกับการดำเนินการของ applicative Functors และ{K} KS<*>pureK
Hugo Sereno Ferreira

SพีΛ X α XSค่อนข้างพื้นฐานดังนั้นจึงสามารถสอดคล้องกับหลายสิ่ง มีประเภทเดียวกับฟังก์ชั่น monadสำหรับ functorX SapΛX.αX
Dave Clarke
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.