ทฤษฎีภาษาโปรแกรมและพีชคณิตนามธรรม


11

มีแอพพลิเคชั่นของ Abstract Algebra ในการเขียนโปรแกรมทฤษฎีภาษาหรือไม่? มีอะไรที่จะเป็นประโยชน์ในการออกแบบภาษาและการใช้งานคอมไพเลอร์หรือไม่?



3
คุณได้ตรวจสอบคำถามที่เชื่อมโยงข้างต้น? นอกจากนี้ยังเป็นทฤษฎีหมวดหมู่ที่มีประโยชน์สำหรับการเรียนรู้การเขียนโปรแกรมการทำงาน? และหน้าที่ Programming พวกเขาตอบคำถามของคุณหรือไม่
Kaveh

คำตอบ:


11

พีชคณิตในความหมายดั้งเดิมของคำนี้ใช้ในการสร้างแบบจำลองของเอฟเฟกต์เชิงการคำนวณเชิงพีชคณิตดูตัวอย่างสไลด์เหล่านี้โดย Gordon Plotkin หรือคุณสามารถอ่านเอกสารจริง และปริญญาเอก วิทยานิพนธ์ถ้าคุณหมายจริงที่จะถามคำถาม

และเพื่อเป่าฮอร์นของฉันเองให้ดูที่Effและอ่านเกี่ยวกับมันภาษาที่ออกแบบมาโดยรอบความคิดที่ว่าเอฟเฟ็กต์การคำนวณคือการดำเนินงานเกี่ยวกับพีชคณิตและตัวจัดการนั้นเป็นโฮโม


1
เอฟมันเจ๋งมาก - สิ่งที่ฉันเข้าใจเกี่ยวกับความต่อเนื่องที่มาจากส่วนใหญ่มาจากมัน
Neel Krishnaswami

ฉันกำลังพิจารณาปฏิกิริยาของบล็อกต่อ "callcc ถือว่าเป็นอันตราย" ของ Oleg ซึ่งฉันอ้างว่า eff เป็นวิธีที่มีโครงสร้างในการทำงานกับความต่อเนื่อง
Andrej Bauer

ขอบคุณทุกคนที่ตอบรับ ผมต้องยอมรับ @ คำตอบ AndrejBauer ตั้งแต่เขานำมาใช้ภาษาของเขาเองเป็นคำตอบสำหรับคำถาม :)
n00b101

คุณมีสิ่งผิดปกติเกิดขึ้นที่นั่น :) มันเกิดขึ้นที่ Matija และฉันใช้ภาษาที่เหมาะกับคำถามของคุณ
Andrej Bauer

7

ฉันลังเลที่จะตอบเพราะคำตอบใด ๆ ที่ง่ายกว่า "ใช่" ทำได้และเติมปริมาณ ความหมายของการเขียนโปรแกรมภาษาได้รับการสร้างขึ้นอย่างลึกซึ้งโดยและในทางกลับกันมีรูปทรงลึกการพัฒนาของตรรกะหมวดหมู่ซึ่งเป็นโปรแกรมของพีชคณิตกับตรรกะ

แต่ฉันสงสัยว่าวิธีที่ดีที่สุดในการตอบคำถามนี้คือการบอกให้คุณไปเรียนรู้Agda - ประสบการณ์การเรียนรู้การเขียนโปรแกรมที่ขึ้นอยู่กับประเภทนั้นขึ้นอยู่กับการจับมือกับวิธีการเขียนโปรแกรมพีชคณิตแบบครอบคลุม


-1

จริงๆแล้วมีซอฟต์แวร์สำหรับพีชคณิตนามธรรมเชิงทฤษฎี ซอฟต์นี้อนุญาตให้คำนวณสิ่งต่าง ๆ เช่นกลุ่มแอ็คชั่นโฮโมมอร์ฟิซึม ฯลฯ ... มันเป็น Magma: http://magma.maths.usyd.edu.au/magma/

ฉันหวังว่านี่จะช่วยคุณได้


2
ฉันเกรงว่าคุณอาจเข้าใจผิดคำถาม
Tsuyoshi Ito

คุณคิดว่า? ด้วย Magma คุณมีห้องสมุดในหัวข้อเฉพาะเกี่ยวกับพีชคณิตนามธรรมสภาพแวดล้อมที่มีประโยชน์สำหรับการใช้งานในสาขาอื่น ๆ เช่นภาษาการเขียนโปรแกรม ...
Camilo Soler

1
(1) หาก Magma มีห้องสมุดในหัวข้อเฉพาะเกี่ยวกับพีชคณิตนามธรรมซึ่งมีประโยชน์ในการนำไปใช้กับทฤษฎีภาษาการเขียนโปรแกรมคุณควรเขียนเกี่ยวกับแอปพลิเคชันนั้น ฉันไม่คิดว่าตัวชี้ไปที่ Magma มีประโยชน์ในบริบทของคำถามนี้ (2) พูดตามตรงฉันสงสัยว่าคุณเข้าใจว่า“ ทฤษฎีภาษาโปรแกรม” หมายถึงอะไร
Tsuyoshi Ito

ตกลงฉันแค่ต้องการแสดงความคิดของฉันบนแพลตฟอร์มอื่นที่มีไลบรารีของพีชคณิตนามธรรมเป็นพื้นฐาน (เช่นตัวอย่าง) สำหรับการสร้างหรือออกแบบ "ภาษาการเขียนโปรแกรม" อื่น ... ไม่ใช่เรื่องง่ายที่นี่ ฉันขอโทษถ้าความคิดของฉันไม่ดีหรือไม่ถูกต้อง
Camilo Soler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.