คำถามติดแท็ก pl.programming-languages

ภาษาการเขียนโปรแกรมโดยเฉพาะการเพ่งความสนใจไปที่ความหมายของพวกเขา

2
ทฤษฎีการพิสูจน์ของ biproducts?
หมวดหมู่มีbiproductsเมื่อวัตถุเดียวกันมีทั้งผลิตภัณฑ์และ coproducts มีใครตรวจสอบทฤษฎีการพิสูจน์ของหมวดหมู่ด้วย biproducts หรือไม่? บางทีตัวอย่างที่รู้จักกันดีที่สุดคือหมวดหมู่ของปริภูมิเวกเตอร์ซึ่งผลรวมโดยตรงและการสร้างผลิตภัณฑ์โดยตรงให้เวกเตอร์สเปซเดียวกัน นั่นหมายถึงการเว้นวรรคเวกเตอร์และแผนที่เชิงเส้นเป็นรูปแบบลอจิคัลเชิงเส้นที่เสื่อมโทรมเล็กน้อยและฉันอยากรู้ว่าทฤษฎีประเภทที่ยอมรับความเสื่อมนี้จะมีลักษณะอย่างไร

2
ต้นกำเนิดของความสัมพันธ์เชิงตรรกะคืออะไร?
ที่จริงฉันมีสองคำถาม: ใครเป็นคนแรกที่ใช้ความสัมพันธ์เชิงตรรกะเพื่อเชื่อมโยงความหมาย? ฉันตามรอยพวกเขากลับไปที่ " ความสัมพันธ์ระหว่างความหมายโดยตรงและความต่อเนื่อง " ของ Reynold แต่ฉันไม่สามารถอ้างว่าได้ทำการค้นหาอย่างละเอียดถี่ถ้วน ฉันได้พบการอ้างอิงถึงความสัมพันธ์เชิงตรรกะในการเดทก่อนหน้านี้ (Tait, '67) แต่ไม่ใช่สำหรับความหมายที่เกี่ยวข้อง อะไรคือการแนะนำที่ดีที่สุดในปัจจุบันสำหรับความสัมพันธ์เชิงตรรกะ? ฉันรู้เกี่ยวกับ " ระบบการพิมพ์สำหรับภาษาโปรแกรม " ของมิตเชลล์จากคู่มือ TCS มีงานแสดงสินค้าอะไรอีกบ้าง?

2
มีใครใช้ Pottier และ Gauthier ของ polymorphic defunctionalization ในโมดูลคอมไพเลอร์หรือไม่?
Defunctionalizationคือการแปลงโปรแกรมที่แปลงโปรแกรมที่มีลำดับสูงกว่าไปเป็นโปรแกรมที่มีลำดับที่หนึ่ง แนวคิดคือให้โปรแกรมมีแลมบ์ดาบทคัดย่อจำนวน จำกัด เท่านั้นดังนั้นคุณสามารถแทนที่แลมบ์ดาแต่ละอันด้วยรหัสและแอปพลิเคชันฟังก์ชั่นแต่ละอันด้วยการเรียกใช้ขั้นตอนการสมัครที่แยกสาขาในรหัสนั้น บางครั้ง สิ่งนี้ถูกใช้ในคอมไพเลอร์สำหรับภาษาที่ใช้งานได้ แต่การบังคับใช้ของมันถูก จำกัด ด้วยความจริงที่ว่า defunctionalization คือการแปลงทั้งโปรแกรม (คุณต้องรู้จักฟังก์ชันทั้งหมดในโปรแกรม) และโปรแกรมคอมไพเลอร์ทั้งหมดเท่านั้นที่ใช้ มัน. อย่างไรก็ตามPottier และ Gauthierได้กำหนดอัลกอริทึม defunctionalization พิมพ์ polymorphic โดยใช้การพิมพ์ที่ซับซ้อนมากขึ้นที่เกี่ยวข้องกับ GADT ตอนนี้เมื่อได้รับการเข้ารหัสแล้วก็เป็นไปได้ที่จะเพิ่มเคส catch-all ให้เป็นประเภทข้อมูลแลมบ์ดาที่ไม่ใช่แท็ก แต่มีฟังก์ชั่นการสั่งซื้อที่สูงกว่า ซึ่งหมายความว่าเป็นไปได้ที่จะใช้การเข้ารหัสเพื่อทำหน้าที่เป็นโมดุลย์ต่อโมดูล มีใครทำสิ่งนี้และชี้ให้ฉันไปที่คอมไพเลอร์โดยใช้ความคิดนี้หรือไม่? (คอมไพเลอร์ของเล่นนั้นโอเคและในความเป็นจริงก็เป็นที่ต้องการ)

1
ทฤษฎีบทจุดคงที่สำหรับการวัดพื้นที่เชิงสร้างสรรค์?
ของ Banach ทฤษฎีบทจุดคงบอกว่าถ้าเรามีว่างสมบูรณ์พื้นที่ตัวชี้วัดฟังก์ชั่นใด ๆ แล้ว contractive สม่ำเสมอฉ: →ก็มีที่ไม่ซ้ำกันจุดคงμ ( ฉ ) อย่างไรก็ตามการพิสูจน์ทฤษฎีบทนี้ต้องการสัจพจน์ของการเลือก - เราจำเป็นต้องเลือกองค์ประกอบโดยพลการ∈ Aเพื่อเริ่มทำซ้ำfจาก, เพื่อให้ได้ลำดับ Cauchy a , f ( a ) , f 2 ( a ) , f 3 ( ) ,AAAf:A→Af:A→Af : A \to Aμ(f)μ(f)\mu(f)a∈Aa∈Aa \in Afffa,f(a),f2(a),f3(a),…a,f(a),f2(a),f3(a),…a, f(a), f^2(a), f^3(a), \ldots . ทฤษฎีบทจุดคงที่ระบุไว้ในการวิเคราะห์เชิงสร้างสรรค์อย่างไร นอกจากนี้ยังมีการอ้างอิงที่รัดกุมเกี่ยวกับช่องว่างเมตริกที่สร้างสรรค์หรือไม่ เหตุผลที่ฉันถามคือฉันต้องการสร้างแบบจำลองของ System …

1
โครงสร้างข้อมูลในภาษาโปรแกรมที่มีชนิดเชิงเส้น
สมมติว่าเรากำลังจัดการกับภาษาการเขียนโปรแกรมที่ได้รับการสนับสนุนสำหรับประเภทเชิงเส้น (แง่ของประเภทเชิงเส้นสามารถใช้งานได้มากที่สุดในครั้งเดียวเพื่อที่จะพูด) วิธีนี้ช่วยให้สามารถรักษาผลกระทบจากการคำนวณบางอย่าง (เช่นการเปลี่ยนแปลงแม้กระทั่งการเปลี่ยนชนิดของตัวถูกดำเนินการ) ในลักษณะที่เป็นปัญหาสำหรับภาษาประเภทของระบบที่ทำงานเฉพาะกับ "ความจริงนิรันดร์" โครงสร้างข้อมูลจำนวนมากสามารถกำหนดประเภทอุปนัย (รายการและต้นไม้เป็นตัวอย่างที่ยอมรับได้) หากเราเพิ่มประเภทอุปนัยเชิงเส้นลงในการผสมเราสามารถจัดการโครงสร้างข้อมูลที่ไม่แน่นอนได้ อย่างไรก็ตามมันไม่ชัดเจนสำหรับฉันที่จะแสดงโครงสร้างข้อมูลที่แสดงการแชร์และการอ้างอิงแบบวนรอบในภาษาการเขียนโปรแกรมที่มีชนิดเชิงเส้น (ตัวอย่างของโครงสร้างข้อมูลดังกล่าวคือ DAG และกราฟอื่น ๆ ที่แสดงโดยรายการ adjacency หรืออย่างอื่น เราทำอย่างนั้นได้ไหม หากเป็นไปไม่ได้เราควรขยายภาษาเพื่อรองรับโครงสร้างข้อมูลดังกล่าวด้วยวิธีใด? ตัวอย่างที่เกี่ยวข้องมากที่สุดที่ฉันค้นพบคือรายการที่ลิงก์สองเท่า มีตัวอย่างอื่นอีกไหม?

1
Reations แบบลอจิคัลสำหรับระบบ Impredicative ใน MetaThe Predicative
ความสัมพันธ์แบบลอจิคัลสำหรับภาษาที่มีการเลียนแบบเช่น System F ดูเหมือนจะใช้การวิเคราะห์เชิงวิพากษ์ของตรรกะโดยรอบ โดยเฉพาะการตีความสำหรับประเภททั้งหมดจะถูกกำหนดในแง่ของความสัมพันธ์ที่พิมพ์ทั้งหมด ในระบบที่ใช้งานได้ดี (เช่น CiC / Coq) ก็ใช้ได้ แต่ดูเหมือนว่าจะเป็นไปไม่ได้ในระบบภาค (เช่น Agda) สิ่งนี้สามารถทำได้? ตัวอย่างเช่นคุณจะพิสูจน์การทำให้เป็นมาตรฐานสำหรับ System F ใน Agda อย่างไร คุณต้องสร้างจักรวาลแห่งการฝึกฝนของคุณเองหรือไม่?

1
เราสามารถแยกความแตกต่างระหว่างไวยากรณ์และความหมายในภาษาโปรแกรมได้หรือไม่?
ในขณะที่การอภิปรายการพิสูจน์การทำให้เป็นมาตรฐานที่แข็งแกร่งความคิดเห็นนี้แตกต่าง "แบบฟอร์มปกติแบบฟอร์ม" กับ "วิธีการทางวากยสัมพันธ์ล้วนๆ" สิ่งนี้ทำให้ฉันกลับไปที่คำถามพื้นฐานเพิ่มเติม: เราสามารถแยกความแตกต่างระหว่างโครงสร้างประโยคและความหมายของประโยคอย่างเคร่งครัดได้หรือไม่ในการเผชิญกับโมเดลที่อิงกับไวยากรณ์ สิ่งที่เกี่ยวกับแบบจำลองของ algebras และแบบจำลองของ Henkin สำหรับการสั่งซื้อครั้งแรก สิ่งที่เกี่ยวกับความหมายการดำเนินงานโครงสร้าง? เนื่องจากเทอมตัวแบบสามารถแปรเปลี่ยนเป็นซินแท็กซ์ได้มันจึงยากที่จะสร้างความแตกต่างที่มั่นคง จนกว่าฉันจะศึกษาความแตกต่างระหว่างทฤษฎีการพิสูจน์และทฤษฎีแบบจำลองในเชิงตรรกะฉันก็รู้สึกงงงวยกับแนวคิดที่ว่า "ระบบชนิดสแตติกเป็นวิธีการสร้างประโยค" ท้ายที่สุดแล้วระบบการพิมพ์มีเหตุผลเกี่ยวกับประเภทซึ่งเป็นนามธรรมของพฤติกรรมของโปรแกรม (และด้วยประเภทที่ขึ้นอยู่กับความแม่นยำโดยพลการ)

1
conversion-conversion vs extensionality ในส่วนขยายของ lambda-แคลคูลัส
ฉันมักจะสับสนกับความสัมพันธ์ระหว่าง conversion-conversion และส่วนขยาย แก้ไข: ตามความเห็นดูเหมือนว่าฉันยังสับสนเกี่ยวกับความสัมพันธ์ระหว่างความเท่าเทียมกันของมิติและความเท่าเทียมเชิงสังเกตการณ์ แต่อย่างน้อยก็ใน Agda ที่มีความเสมอภาคในมิติของฟังก์ชัน (เป็นหลัก) และสำหรับแคลคูลัสแลมบ์ดาที่พิมพ์ได้ง่ายๆ (ซึ่งมีความหมายเชิงนามธรรมอย่างสมบูรณ์ รู้สึกอิสระที่จะแก้ไขฉันในความคิดเห็นหรือคำตอบ; ฉันไม่เคยได้รับการศึกษาอย่างเป็นระบบในเรื่องเหล่านี้ ในแลมบ์ดาแคลคูลัสที่ไม่มีการพิมพ์กฎ eta จะให้ระบบการพิสูจน์เดียวกันกับกฎส่วนขยายดังที่ Barendregt พิสูจน์แล้ว (อ้างถึงคำตอบสำหรับคำถามนี้ ) ฉันเข้าใจว่าการหมายความว่าระบบพิสูจน์ด้วยกฎกทช. นั้นสมบูรณ์สำหรับการสังเกตเชิงสมดุล (จากคำตอบอื่น ๆ ที่อาจต้องใช้กฎξ-กฎนั่นคือการลดภายใต้สารยึดเกาะ IIUC ฉันไม่มีปัญหาในการเพิ่มกฎนั้นด้วย) . อย่างไรก็ตามจะเกิดอะไรขึ้นถ้าเราเปลี่ยนเป็นแคลคูลัสที่พิมพ์และเพิ่มแคลคูลัสนี้ด้วยประเภทฐานพิเศษและรูปแบบการแนะนำและการกำจัดที่สอดคล้องกัน? เรายังคงสามารถเขียนระบบพิสูจน์ที่สมบูรณ์เพื่อความเท่าเทียมเชิงสังเกตการณ์ได้หรือไม่? ฉันจะพูดคุยเกี่ยวกับระบบพิสูจน์ในรูปแบบของความหมายซึ่งเป็นจริงตามพื้นฐานของการเขียนโปรแกรมภาษา (FPL) ของมิตเชลล์; ระบบพิสูจน์ / สัจพจน์ความหมายที่เป็นจริงกำหนดความเท่าเทียมกันของโปรแกรม คำถามที่ 1 : ทฤษฎีบทของ Barendregt ขยายไปถึง STLC หรือไม่? การเทียบเท่า extension เทียบเท่ากับส่วนขยายในบริบทนั้นหรือไม่ ฉันกำลังเรียกดูการสนทนาของ PCF ของ …

2
ตัดออกสำหรับแคลคูลัสกับ nats หรือประเภทข้อมูลอุปนัยอื่น ๆ ?
ไม่มีใครนำฉันไปที่กระดาษที่มีรายละเอียดของทฤษฎีการตัดออกสำหรับตรรกะปรีชาเชิงประพจน์รวมถึงประเภทข้อมูลอุปนัยเช่นตัวเลขธรรมชาติ (รายการหรือต้นไม้จะดีเช่นกัน)? ตัวอย่างของชนิดของระบบฉันสนใจในการเป็นของGödel T ซึ่งมีประเภทที่กำหนดโดยไวยากรณ์: : = N ' ฉันไม่ได้สนใจเรื่องปริมาณมากกว่าตัวเลขธรรมชาติหรือภาคแสดงที่จัดทำดัชนีโดยตัวเลขธรรมชาติ: : = N|A → A'A:: =ยังไม่มีข้อความ|A→A'A ::= \mathbb{N} \;\;|\;\; A \to A' ฉันรู้วิธีพิสูจน์เบต้า - การทำให้เป็นมาตรฐานสำหรับเวอร์ชันหักธรรมชาติของระบบเหล่านี้โดยใช้อาร์กิวเมนต์ความสัมพันธ์เชิงตรรกะ (หรือเทคนิคที่เกี่ยวข้องเช่น NbE) แต่อยากรู้ว่ามีการอ้างอิงมาตรฐานเกี่ยวกับวิธีการปรับวิธีการเหล่านี้ เหตุผลที่ฉันถามคือฉันกำลังศึกษาการเพิ่มผู้ประกอบการจุดคงที่สำหรับการสอบถามซ้ำแบบมีการป้องกันให้กับภาษา แนวคิดเชิง denotational เป็นแนวคิดที่ค่อนข้างเก่า - ตีความประเภทเป็นช่องว่าง ultrametric และจุดคงที่ผ่านทางทฤษฎีบทของ Banach - แต่เทคนิค syntactic ล้วนๆที่ฉันรู้จักเพื่อพิสูจน์การกำจัดการตัดดูเหมือนจะปรับตัวไม่ได้

1
การลดชั้นในสุดอยู่ตลอดใน ty-แคลคูลัสที่ไม่มีการพิมพ์หรือไม่?
(ฉันได้ถามเรื่องนี้ที่ MathOverflow แล้ว แต่ไม่มีคำตอบอยู่ที่นั่น) พื้นหลัง ในแคลคูลัสแลมบ์ดา untyped คำที่อาจจะมี redexes จำนวนมากและทางเลือกที่แตกต่างกันเกี่ยวกับการเป็นที่หนึ่งในการลดอาจให้ผลลัพธ์ที่แตกต่างกันอย่างดุเดือด (เช่นซึ่งในทางหนึ่ง ขั้นตอน ( -) ลดทั้งหรือตัวเอง) ที่แตกต่างกัน (ลำดับ) ทางเลือกในการที่จะลดจะเรียกว่ากลยุทธ์การลด คำกล่าวจะnormalizingถ้ามีกลยุทธ์การลดลงซึ่งนำไปแบบปกติ คำกล่าวจะnormalizing อย่างยิ่งถ้ากลยุทธ์ลดทุกนำ( λ x . y) ( ( λ x . x x ) λ x . x x )(λx.Y)((λx.xx)λx.xx)(\lambda x.y)((\lambda x.xx)\lambda x.xx)ββ\betat t t tYYyเสื้อเสื้อtเสื้อเสื้อtเสื้อเสื้อtเสื้อเสื้อtสู่รูปแบบปกติ (ฉันไม่ได้กังวลเกี่ยวกับสิ่งที่ แต่การบรรจบกันรับประกันว่ามีความเป็นไปได้มากกว่าหนึ่งไม่ได้) กลยุทธ์การลดการกล่าวถึงเป็นnormalizing (และอยู่ในความรู้สึกบางอย่างที่ดีที่สุดที่เป็นไปได้) ถ้าเมื่อใดก็ตามมีรูปแบบปกติแล้วว่าของที่เราจะจบลง …

1
การสร้างลักษณะความเท่าเทียมกันที่มองไม่เห็นโดยกฎการรวมตัวกันใหม่
เพื่อตอบคำถามอื่น ๆส่วนต่อขยายของทฤษฎีเบต้าของแลมบ์ดาแคลคูลัส Evgenij เสนอคำตอบ: เบต้า + กฎ {s = t | s และ t ถูกปิดเงื่อนไขที่แก้ไม่ได้} ที่ระยะMคือแก้ปัญหาได้ถ้าเราสามารถหาลำดับของข้อตกลงดังกล่าวว่าเอ็มแอพลิเคชันให้กับพวกเขา 's เท่ากับผม คำตอบของ Evgenij ให้ทฤษฎีที่เท่าเทียมกันเหนือแลมบ์ดาแคลคูลัส แต่ไม่มีใครที่โดดเด่นด้วยระบบการลดเช่นชุดไหลมารวมกันของกฎการเขียนซ้ำซ้ำ ลองเรียกความเท่าเทียมกันที่มองไม่เห็นเหนือทฤษฎีของแคลคูลัสแลมบ์ดาซึ่งเป็นระบบการลดที่เปรียบเสมือนชุดของแลมบ์ดาที่ไม่สามารถแก้ไขได้ แต่ไม่เพิ่มสมการใหม่ที่เกี่ยวข้องกับคำที่แก้ไขได้ มีอะไรที่เทียบเท่ากับทฤษฎีเบต้าของแคลคูลัสแลมบ์ดาหรือไม่? Postscriptตัวอย่างที่แสดงถึงการเทียบเท่าที่มองไม่เห็น แต่ไม่ไหลมารวมกัน ให้M = (λx.xx)และN = (λx.xxx)สองคำที่ไม่สามารถแก้ไขได้ การเพิ่มกฏการเขียนNNใหม่ไปยังMMทำให้เกิดความเท่าเทียมกันที่มองไม่เห็นที่มีMM = NNแต่มีคู่วิกฤติที่ไม่ดีโดยที่NNลดทั้งMMและMMNซึ่งแต่ละคู่มีหนึ่งการเขียนใหม่ที่พร้อมใช้งาน

2
รายการความแตกต่างในการตั้งโปรแกรมการทำงาน
คำถามมีอะไรใหม่ในโครงสร้างข้อมูลที่ใช้งานได้จริงตั้งแต่ Okasaki? (และเมื่อเทียบกับการเขียนโปรแกรมเชิงตรรกะ) ซึ่งเป็นสิ่งที่ฉันสนใจเมื่อเร็ว ๆ นี้สิ่งนี้ทำให้ฉันค้นหาการใช้งานรายการความแตกต่างสำหรับ Haskell ฉันมีสองคำถาม (ยกโทษ / แก้ไขให้ฉันถ้าฉันควรทำให้พวกเขาสองคำถามที่แตกต่างกันใน StackExchange) คำถามง่ายๆคือทุกคนตระหนักถึงการพิจารณาทางวิชาการของรายการที่แตกต่างในการเขียนโปรแกรมการทำงานและ / หรือการใช้งานนอกเหนือจากหนึ่งในห้องสมุด Haskell? คำตอบของ jbapple ไม่ได้อ้างถึงรายการที่แตกต่าง (รายการความแตกต่างในการเขียนโปรแกรมเชิงตรรกะมีอยู่ในตำนานและในแหล่งข้อมูลสองแห่งที่ฉันมีอยู่แถว ๆ นี้ (TM) ก่อนที่จะค้นพบการใช้งาน Haskell ฉันไม่ทราบว่าแนวคิดนั้นเพิ่มขึ้นจากตรรกะไปจนถึงการเขียนโปรแกรมเชิงหน้าที่ จริงอยู่ที่รายการความแตกต่างของ Haskell นั้นเป็นฟังก์ชั่นการใช้งานตามลำดับขั้นสูงและทำงานแตกต่างจากฟังก์ชั่นการเขียนโปรแกรมแบบลอจิก แต่อินเทอร์เฟซคล้ายกันอย่างแน่นอน สิ่งที่น่าสนใจ (และไกลออกไป) ที่น่าสนใจยิ่งกว่าที่ฉันต้องการถามคือว่าขอบเขตบนแบบ asymptotic ที่อ้างสิทธิ์สำหรับไลบรารีรายการผลต่าง Haskell ดังกล่าวนั้นถูกต้องหรือน่าเชื่อถือ ความสับสนของฉันอาจจะเป็นเพราะฉันหายไปบางสิ่งบางอย่างเกี่ยวกับการที่ชัดเจนเกี่ยวกับเหตุผลที่ซับซ้อนด้วยความเกียจคร้าน แต่ขอบเขตอ้างว่าเพียง แต่จะทำให้รู้สึกถึงฉันถ้าเปลี่ยนตัวมากกว่าโครงสร้างข้อมูลขนาดใหญ่ (หรือการปิดหรือค้นหาตัวแปรหรือบางสิ่งบางอย่าง ) มักจะต้องใช้เวลาอย่างต่อเนื่อง หรือ "จับ" เพียงแค่ว่าไม่มีเวลา จำกัด สำหรับ "หัว" และ …

1
การเปรียบเทียบบริบทของภาษาที่มี `quote '-`eval` เป็นเรื่องไม่สำคัญหรือไม่?
ใน [1], มิทเชลล์ Wand แสดงให้เห็นว่าการเพิ่ม fexprs เพื่อแคลคูลัสแลมบ์ดาบริสุทธิ์ trivializes ทฤษฎีของความเท่าเทียมกันตามบริบทที่มีความหมายสองแง่เป็นบริบทเทียบเท่า IFF พวกเขาจะ -congruent เมื่อสำรวจที่เกี่ยวข้องกับงานเขาไป "ผลของเราขยายการสังเกตเก่าของอัลเบิร์เมเยอร์ [2] ที่และทำให้เท่าเทียมกันตามบริบทจิ๊บจ๊อย" แต่หมายถึง [2] สิ่งที่สามารถพบได้เป็นเพียงคำสั่งต่อไปนี้โดยเมเยอร์:αα\alphaevalquote ฉันคิดว่าในภาษาที่มีคุณสมบัติquote- evalเช่น LISP [3] ไม่มีความแตกต่างระหว่างวัตถุทางวากยสัมพันธ์และปฏิบัติการได้ ในความเป็นจริงquote- evalดูเหมือนจะปลอดภัยพอใน LISP เพราะแม้ว่าquotesyntactically ดูเหมือนตัวดำเนินการ bona fi de เช่นพูดว่าcondมันไม่ทำงานเหมือนอย่างใดอย่างหนึ่งquoteเป็นพารามิเตอร์ของโพรซีเดอร์) ถึงกระนั้นฉันยังไม่ได้เห็นตัวอย่างที่น่าเชื่อที่คุณสมบัติquote- evalคุ้มค่า โดยไม่คำนึงถึงข้อบกพร่องเล็กน้อยหนึ่งข้อในความคิดเห็นเหล่านี้ที่อาจทำให้ผู้อ่านเข้าใจผิดเพื่ออนุมานว่าcondสามารถส่งผ่านเป็นพารามิเตอร์ไปยังกระบวนการ ถ้าฉันเข้าใจอย่างถูกต้องสิ่งที่เมเยอร์พูดว่า " quote- evalดูเหมือนปลอดภัยพอ" หมายความว่าquote- evalอาจไม่ทำให้ทฤษฎีสมการเป็นเรื่องเล็กน้อยแม้ว่าเขาจะไม่ได้พิสูจน์ก็ตาม แก้ไข: ตามที่ Martin แนะนำเนื่องจากเอกสารทั้งสามฉบับอ้างถึงการจัดการกับภาษาตระกูล LISP ให้ตั้งคำถามภายใต้การตั้งค่าเดียวกันนี้ การเทียบเคียงเชิงบริบทของภาษาที่มีquote- evalโดยเฉพาะ …

3
สามารถใช้โปรแกรมใด ๆ ในเชิงกลไกได้หรือไม่?
เป็นไปได้หรือไม่ที่จะสร้างจุดประสงค์เดียว (ไม่ใช่การทำให้ทัวริงสมบูรณ์) ในการดำเนินการทางกลของการพูด Microsoft Word? เป็นไปได้หรือไม่ที่จะใช้สิ่งต่าง ๆ เช่นตัววนซ้ำฟังก์ชันอันดับหนึ่งขอบเขตของเทคนิคการเขียนโปรแกรมทั้งหมด? เกียร์และชิ้นส่วนทางกลอื่น ๆ สามารถแสดงโครงสร้างข้อมูลหรือแม้แต่โปรแกรมวัตถุได้หรือไม่? เมื่อถึงจุดหนึ่งสิ่งนี้ทำให้การสร้างเครื่องทัวริงที่มีจุดประสงค์ทั่วไปหรือแต่ละฟังก์ชั่นตัวแปร ฯลฯ มีโครงสร้างทางกลที่เป็นเอกลักษณ์ของตัวเองในรูปแบบของมู่เล่และ / หรือเกียร์เฟืองคุณมีอะไรบ้าง โดยสรุปฉันสงสัยว่ามีชิ้นส่วนใด ๆ ของซอฟต์แวร์ในคอมพิวเตอร์มาตรฐานที่สามารถคอมไพล์ลงในพิมพ์เขียวเชิงกลได้หรือไม่

1
ความสัมพันธ์ระหว่างการแยกวิเคราะห์ลดกะและการแยกต่อเนื่อง?
มีใครบ้างไหมที่ทำให้ความสัมพันธ์ระหว่างเทคนิคการวิเคราะห์การเปลี่ยนแปลงลดและการแยกที่ต่อเนื่องเป็นรูปเป็นร่าง? เมื่อสร้างตัวแยกวิเคราะห์จากล่างขึ้นบน (เช่น LR parsers) เราใช้ไวยากรณ์และแสดงสถานะการแยกวิเคราะห์เป็นชุดของรายการ : เพิ่มการผลิตของรูปแบบโดยที่และอยู่ ลำดับของเทอร์มินัลและ nonterminals เครื่องหมายแสดงให้เห็นว่า parser เข้าไปในสตริงได้ไกลแค่ไหนด้วยแสดงถึงสิ่งที่ได้เห็นมาแล้วและแสดงการคาดการณ์ของสิ่งที่อาจถูกแยกวิเคราะห์A→α∙βA→α∙βA \to \alpha \bullet \betaαα\alphaββ\beta∙∙\bulletαα\alphaββ\beta การดำเนินการเปลี่ยนแปลงในการเปลี่ยนแปลงของหุ่นยนต์ LR แจงตรงกับคำนำหน้าของสแต็คกับที่ , และแทนที่ด้วย การเรียงซ้อนอย่างลึกล้ำของสแต็กมีลักษณะคล้ายกับผลกระทบของโอเปอเรเตอร์ควบคุม แต่นี่เป็นเพียงการสังเกตเชิงคุณภาพαα\alphaAAA มีใครศึกษาการเชื่อมต่อระหว่างตัวแยกการลดกะและตัวควบคุมที่มีตัวคั่นเช่นกะ / รีเซ็ต?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.