กลับไปหน้าบทความ

อ่าน 2 นาที

จอย (ภาษาโปรแกรม)

ภาษาโปรแกรม Joyในวิทยาการคอมพิวเตอร์เป็นภาษาโปรแกรมเชิงฟังก์ชันล้วนๆที่สร้างขึ้นโดย Manfred von Thun จากมหาวิทยาลัย La Trobeในเมลเบิร์นประเทศออสเตรเลีย Joy

จอย (ภาษาโปรแกรม)

จอย
กระบวนทัศน์หลายกระบวนทัศน์ : ฟังก์ชัน , การเชื่อมต่อ , เชิงซ้อน
ออกแบบโดยแมนเฟรด ฟอน ธุน
นักพัฒนาแมนเฟรด ฟอน ธุน จอห์น โควัน
ปรากฏครั้งแรก2001
เวอร์ชันเสถียร
17 มีนาคม 2546 / 17 มีนาคม 2546
วินัยในการพิมพ์แข็งแกร่งมีพลัง
การนำไปใช้งานหลักๆ
Joy0, Joy1, "Current Joy", "John Cowan's Joy", "JoyJ (Joy in jvmm)"
ได้รับอิทธิพลจาก
แผน , FP , ฟอร์ธ
ได้รับอิทธิพล
แฟคเตอร์ , แคท, วี, ทริธ

ภาษาโปรแกรม Joyในวิทยาการคอมพิวเตอร์เป็นภาษาโปรแกรมเชิงฟังก์ชันล้วนๆที่สร้างขึ้นโดย Manfred von Thun จากมหาวิทยาลัย La Trobeในเมลเบิร์นประเทศออสเตรเลีย Joy ใช้การประกอบฟังก์ชันแทนแคลคูลัสแลมบ์ดาโดยได้รับแรงบันดาลใจจากรูปแบบการเขียนโปรแกรมระดับฟังก์ชันของFPของJohn Backus [ 1 ] ปรากฏว่ามีลักษณะคล้ายคลึงกับForth หลายประการ ไม่ใช่เพราะ การออกแบบ แต่เป็นเพราะวิวัฒนาการและการบรรจบกันที่เป็นอิสระ

ภาพรวม

ฟังก์ชันใน Joy ขาดพารามิเตอร์อย่างเป็นทางการตัวอย่างเช่น ฟังก์ชันที่ยกกำลังสองของอินพุตตัวเลขสามารถแสดงได้ดังนี้: [ 2 ]

DEFINE square == dup * . 

ใน Joy ทุกอย่างเป็นฟังก์ชันที่รับสแต็กเป็นอาร์กิวเมนต์และส่งคืนสแต็กเป็นผลลัพธ์ ตัวอย่างเช่น ตัวเลข '5' ไม่ได้แทนค่าคงที่จำนวนเต็ม แต่เป็นโปรแกรมสั้นๆ ที่ผลักตัวเลข 5 ลงบนสแต็ก

  • ตัว ดำเนินการ dupจะคัดลอกองค์ประกอบบนสุดของสแต็กโดยการผลักสำเนาของมันเข้าไปในสแต็ก
  • ตัว ดำเนินการ *จะดึงตัวเลขสองตัวออกจากสแต็กแล้วผลักผลคูณของตัวเลขทั้งสองนั้นเข้าไปในสแต็ก

ดังนั้นฟังก์ชันกำลังสองจะสร้างสำเนาขององค์ประกอบด้านบน จากนั้นคูณองค์ประกอบด้านบนสองรายการของสแต็ก โดยทิ้งกำลังสองขององค์ประกอบด้านบนเดิมไว้ที่ด้านบนของสแต็ก โดยไม่จำเป็นต้องมีพารามิเตอร์อย่างเป็นทางการ ซึ่งทำให้ Joy กระชับ ดังที่แสดงโดยคำจำกัดความของquicksort นี้ : [ 3 ]

กำหนด qsort == [เล็ก] [] [uncons [>] แยก] [swapd cons concat] binrec. 

ความบริสุทธิ์ทางคณิตศาสตร์

Joy เป็นภาษาการเขียนโปรแกรมแบบเชื่อมต่อ : "การเชื่อมต่อของสองโปรแกรมหมายถึงการประกอบฟังก์ชันที่แสดงโดยสองโปรแกรม" [ 4 ]

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการของภาษาการเขียนโปรแกรม Joy (มหาวิทยาลัย La Trobe)บนWayback Machine (เก็บถาวรเมื่อ 7 กันยายน 2012)
  • หน้าเว็บ Joy (มิเรอร์)
  • ซอร์สโค้ดของ Joy (GitHub Archive)
  • Freneger, Paul (สิงหาคม 2546). "ความสุขแห่งการก้าวไปข้างหน้า" . ACM SIGPLAN Notices . 38 (8): 15– 17. doi : 10.1145/944579.944583 .
  • ฟอน ธุน, แมนเฟรด ; โทมัส, รูเบน (9 ตุลาคม 2544). "จอย: ญาติเชิงฟังก์ชันของฟอร์ธ" (PDF) . รายงานการประชุมยูโรฟอร์ธ ครั้งที่ 17 .
  • คริสโตเฟอร์ ดิกกินส์ (31 ธันวาคม 2008) "ภาษาแบบเชื่อมต่อคืออะไร"ดร. ด็อบส์
  • Apter, Stevan. "การเขียนโปรแกรมเชิงฟังก์ชันใน Joy และ K" . Vector . เก็บถาวรจากต้นฉบับเมื่อ 2008-08-28 . สืบค้นเมื่อ2011-02-28 .
  • mjoy คือตัวแปลภาษาใน Lazarus สำหรับภาพวาดที่มีกราฟิกรูปเต่า (ส่วนย่อยของ Joy)
  • Joy-REPL (แอปพลิเคชัน Java สำหรับ Win/Linux/Mac/etc)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Joy_(programming_language)&oldid=1359704431 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ จอย (ภาษาโปรแกรม)

ภาษาโปรแกรม Joyในวิทยาการคอมพิวเตอร์เป็นภาษาโปรแกรมเชิงฟังก์ชันล้วนๆที่สร้างขึ้นโดย Manfred von Thun จากมหาวิทยาลัย La Trobeในเมลเบิร์นประเทศออสเตรเลีย Joy

ภาพรวม

ฟังก์ชันใน Joy ขาด พารามิเตอร์อย่างเป็นทางการ ตัวอย่างเช่น ฟังก์ชันที่ยกกำลังสองของอินพุตตัวเลขสามารถแสดงได้ดังนี้: [ 2 ]

ความบริสุทธิ์ทางคณิตศาสตร์

Joy เป็น ภาษาการเขียนโปรแกรมแบบเชื่อมต่อ : "การเชื่อมต่อของสองโปรแกรมหมายถึงการประกอบฟังก์ชันที่แสดงโดยสองโปรแกรม" [ 4 ]

ลิงก์ภายนอก

เว็บไซต์อย่างเป็นทางการของภาษาการเขียนโปรแกรม Joy (มหาวิทยาลัย La Trobe)บน Wayback Machine (เก็บถาวรเมื่อ 7 กันยายน 2012) หน้าเว็บ Joy (มิเรอร์) ซอร์สโค้ดของ Joy (GitHub Archive) Freneger, Paul (สิงหาคม 2546). "ความสุขแห่งการก้าวไปข้างหน้า" .