Mercury

ภาพหน้าจอของซอฟแวร์:
Mercury
รายละเอียดซอฟแวร์:
รุ่น: 13.05.1
วันที่อัพโหลด: 15 Apr 15
ผู้พัฒนา: Mercury Developers
การอนุญาต: ฟรี
ความนิยม: 59

Rating: 2.0/5 (Total Votes: 2)

ภาษาโปรแกรมลอจิกได้รับรอบนานกว่ายี่สิบปี แม้จะมีข้อได้เปรียบที่คาดหวังของการเขียนโปรแกรมภาษาระดับสูงมากขึ้นอยู่กับทฤษฎีการพัฒนาที่ดีของตรรกะมากกว่าการเขียนโปรแกรมภาษาธรรมดา (เช่น C, C ++, Pascal และ Ada) พวกเขาไม่ได้มีผลกระทบอย่างมีนัยสำคัญในอุตสาหกรรมคอมพิวเตอร์
ดาวพุธเป็นตรรกะใหม่ / ภาษาเขียนโปรแกรมการทำงานที่ผสมผสานความชัดเจนและความหมายของการเขียนโปรแกรมที่เปิดเผยด้วยการวิเคราะห์แบบคงที่ทันสมัย​​และคุณสมบัติการตรวจจับข้อผิดพลาด
ดาวพุธเป็นขั้นตอนวิธีการดำเนินการเพิ่มประสิทธิภาพสูงมอบประสิทธิภาพไกลเกินกว่าระบบตรรกะการเขียนโปรแกรมที่มีอยู่และใกล้กับระบบการเขียนโปรแกรมแบบเดิม
เมอร์ที่อยู่ในปัญหาของการพัฒนาโปรแกรมขนาดใหญ่ที่ช่วยให้ต้นแบบรวบรวมแยกและเพิ่มประสิทธิภาพจำนวนมากที่ / เวลาการแลกเปลี่ยน

มีอะไรใหม่ ในข่าวประชาสัมพันธ์ฉบับนี้.

  • นี้สามารถแก้ไขปล่อย bugfix สร้างปัญหาบน Solaris และ NetBSD และเพิ่มการสนับสนุนสำหรับการเลือกคอมไพเลอร์ C # ในเวลาที่กำหนดค่า.
  • ข้อบกพร่องต่างๆย่อยอื่น ๆ ได้รับการแก้ไข.
  • นอกจากนี้ยังมีบางอย่างเพิ่มเติมเล็กน้อยเพื่อห้องสมุดมาตรฐาน.

มีอะไรใหม่ ในรุ่น 13.05:

  • รุ่นของ executables 64 บิตบน Windows ได้รับการสนับสนุนในขณะนี้
  • ครั้งรวบรวมสำหรับโปรแกรมที่มีขนาดใหญ่มากได้รับการปรับปรุง.
  • ชนิดใหม่ ๆ เพิ่มประสิทธิภาพการแสดงได้รับการเพิ่ม.
  • ดีบักขณะนี้ได้รับการสนับสนุนที่ดีขึ้นสำหรับการจัดการชมรมของสาย recursive ร่วมกันในกอง.
  • ผูกพันกับห้องสมุด GLFW ได้รับการเพิ่มการกระจายความพิเศษ.
  • ประกอบสร้างขึ้นด้วยแบ็กเอนด์ C # ขณะนี้คุณสามารถเซ็นสัญญากับชื่อที่รัดกุม.

มีอะไรใหม่ ในรุ่น 11.01:

  • เราได้เพิ่มสองชนิดใหม่ของขอบเขตภาษา
  • ขอบเขตแนะนำให้รู้จักกับหนึ่งในคำหลักใหม่ require_det, require_semidet, require_multi, require_nondet, require_cc_multi, require_cc_nondet, require_erroneous และ require_failure เป็นชื่อที่แสดงถึงต้องมีเป้าหมายภายในขอบเขตที่จะมีการกำหนดให้.
  • ขอบเขตการแนะนำให้รู้จัก require_complete_switch คำต้องมีเป้าหมายภายในขอบเขตถ้ามันเป็นสวิทช์ในตัวแปรตั้งชื่อตามขอบเขตที่จะเป็นสวิทช์ที่สมบูรณ์คือจะมีแขนสำหรับทุกสัญลักษณ์ฟังก์ชั่นในรูปแบบของ เปลี่ยนในตัวแปร.
  • เราได้เพิ่มโหมด semidet สำหรับ hash_table.fold / 4 และ version_hash_table.fold / 4.
  • เราได้เพิ่มภาคใหม่และฟังก์ชั่นโมดูล assoc_list ภาค map_keys_only / 3 map_values​​_only / 3 และ map_values​​ / 3 เติมเต็มฟังก์ชั่นที่มีชื่อเดียวกัน ภาคกรอง / 3, negated_filter / 3, กรอง / 4, ผสาน / 3 ซึ่งยังมีรุ่นฟังก์ชั่นจะทำงานคล้ายกับภาคที่มีชื่อเดียวกันในโมดูลรายการ แต่จะดำเนินการที่เกี่ยวข้องบนแป้นแทนทั้งหมด องค์ประกอบของรายการ.
  • เราได้ย้ายโมดูลการประเมินผลขี้เกียจออกจากการกระจายความพิเศษและเป็นโมดูลห้องสมุดมาตรฐานใหม่ที่เรียกว่า `ขี้เกียจ ' นอกจากนี้ยังได้รับการทำแบ็กเอนด์ไม่เชื่อเรื่องพระเจ้า.
  • เราได้ทำให้การเปลี่ยนแปลงโมดูลรายชื่อของไลบรารีมาตรฐาน:
  • เราได้เพิ่มคำกริยาใหม่ list.member_index0 / 3 มันก็เหมือน list.member / 2 ยกเว้นว่ามันยังใช้พารามิเตอร์ที่เป็นตัวแทนของดัชนี zero-based ขององค์ประกอบภายในรายการ.
  • เราได้เพิ่มคำกริยาใหม่ list.map3_foldl / 7 ซึ่งแมกว่ารายการผลิตสามรายการและมูลค่าพับหนึ่ง.
  • เราได้เพิ่มโหมด semidet กับแอคคิวไม่ซ้ำกันสำหรับ list.foldl3 / 8, list.foldl4 / 10, list.foldl5 / 12 และ list.foldl6 / 14.
  • เราได้เพิ่มภาคแบ่ง / 4 และ divide_by_set / 4 โมดูล tree_bitset ของห้องสมุดมาตรฐาน.
  • เราได้เพิ่มภาค set_ctree234.member / 2 และ set_ctree234.non_empty / 1 เรามีการเพิ่มฟังก์ชั่น set_ctree234.from_list / 1.
  • เราได้เพิ่ม set_bbbtree.count กริยา / 2 และ set_bbbtree.count ฟังก์ชั่น / 1 เหล่านี้แทนที่กริยา set_bbbtree.size / 2 ซึ่งจะเลิกตอนนี้.
  • เราได้เพิ่มคำกริยา set_ordlist.non_empty / 1.
  • เราได้เพิ่มคำกริยา set_tree234.non_empty / 1 และ set_tree234.from_list ฟังก์ชั่น / 1.
  • เราได้เพิ่มภาค set_unordlist.non_empty / 1 และ set_unordlist.count / 2, และฟังก์ชั่น set_unordlist.count / 1.
  • ทั้งหมดของโมดูลในไลบรารีมาตรฐานที่ใช้ ADT ชุด (ชุด set_ordlist, set_unordlist, set_bbbtree, set_tree234 และ set_ctree234) ในขณะนี้สนับสนุนพับกว่าชุดที่มีถึงหกตัวเก็บประจุ โหมดที่ให้ไม่ซ้ำกันและแอคคิวส่วนใหญ่ไม่ซ้ำกันสำหรับพับชุดยังได้รับการเพิ่ม.
  • เราได้ทำการเปลี่ยนแปลงต่อไปนี้ในโมดูลอาร์เรย์ของห้องสมุดมาตรฐาน:
  • เราได้เพิ่มฟังก์ชั่น unsafe_elem / 2 และผนวก / 2.
  • เราได้เพิ่มภาค svset / 4, unsafe_svset / 4, foldl2 / 4, foldl2 / 6, foldr / 4, foldr2 / 6, map_foldl / 5, map_corresponding_foldl / 6, และเป็นสมาชิก / 2.
  • เราได้เพิ่มภาค version_array.foldl2 / 6, version_array.foldr / 4, และ version_array.foldr2 / 6 ถึงห้องสมุดมาตรฐาน.
  • เราได้เพิ่มโหมด semidet กับแอคคิวไม่ซ้ำกันและส่วนใหญ่ไม่ซ้ำกันสำหรับภาคต่อไปนี้:
  • bimap.foldl2 / 6
  • bimap.foldl3 / 8
  • cord.foldl_pred / 4
  • cord.map_foldl / 5
  • list.map_corresponding_foldl2 / 8
  • list.map_corresponding_foldl3 / 10
  • list.map_corresponding3_foldl / 7
  • map.foldl3 / 8
  • เราได้เพิ่มคำกริยา unsorted_aggregate2 / 6 ถึงโมดูลการแก้ปัญหาของห้องสมุดมาตรฐาน.
  • เราได้เพิ่มหลายภาคและฟังก์ชั่นที่จะต้องใช้โมดูลของห้องสมุดมาตรฐาน ภาคเสียใจ / 2 และเสียใจ / 3 รายงานการขาดคุณสมบัติในขณะที่ภาคที่ไม่คาดคิด / 2 และที่ไม่คาดคิด / 3 รายงานข้อผิดพลาดภายในโปรแกรม; ทุกคนต้องมีฟังก์ชั่นรุ่นเกินไป กริยาคาดหวัง / 3 โทรที่ไม่คาดคิดถ้าเป็นเงื่อนไขที่ไม่พอใจ ขณะนี้เรามีคาดหวัง / 4 เป็นคาดหวัง / 3 สำหรับคาดหวัง / 4 เป็นคาดหวัง / 3, ข้อโต้แย้งครั้งแรกและครั้งนี้เป็นสภาพที่คาดหวังและข้อผิดพลาดตามลำดับ แต่ด้วยความคาดหวัง / 4 มีสองข้อโต้แย้งที่อยู่ตรงกลางเพื่อระบุตำแหน่งของข้อผิดพลาด (ปกติชื่อ ของโมดูลและกริยาตามลำดับ) นอกจากนี้เรายังเพิ่ม expect_not / 3 และ expect_not / 4 ซึ่งเป็นเหมือนคาดหวัง / 3 และคาดว่า / 4 ตามลำดับยกเว้นพวกเขาคาดหวังว่าสภาพจะเป็น * * * * * * * * เท็จ, ไม่เป็นความจริง.

มีอะไรใหม่ ในรุ่น 10.04.2:

  • ข่าวประชาสัมพันธ์ฉบับนี้เป็นรุ่นแก้ไขข้อผิดพลาด จำนวนของปัญหาที่ก่อให้เกิดคอมไพเลอร์จะยกเลิกได้รับการแก้ไขบางส่วนการดำเนินงาน RTTI หักในชั้นประถมศึกษาปี java ได้รับการแก้ไขและเราได้เพิ่มวิธีแก้ปัญหาสำหรับปัญหากับรุ่น GCC 4.4.

ข้อ จำกัด

  • การดำเนินงานในปัจจุบันยังไม่สมบูรณ์ใช้ภาษาปรอท ข้อ จำกัด ที่สำคัญของการดำเนินงานในปัจจุบันมีดังต่อไปนี้:
  • เราไม่อนุญาตให้ aliasing ที่ชัดเจนในระบบโหมด โดยไม่ต้องนี้โหมด instantiated บางส่วนจะใช้ไม่ได้และเพื่อให้มีการซ้อนโหมดที่ไม่ซ้ำกัน.
  • คอมไพเลอร์ยังไม่ใช้นำมาใช้ใหม่ของโครงสร้างหรือเวลารวบรวมเก็บขยะจะใช้ประโยชน์จากรูปแบบที่ไม่ซ้ำกัน.
  • ประเภทและอนุมานโหมดเป็นบิตไม่สมบูรณ์.

  • นอกจากนี้การตัดสินใจในการออกแบบใน implemenation นี้ได้กำหนดข้อ จำกัด ต่อไปนี้:
  • Predicates และฟังก์ชั่นสามารถมีที่มากที่สุดประมาณ 1000 ข้อโต้แย้ง.
  • แง่สูงเพื่อสามารถมีได้สูงสุดประมาณ 500 ข้อโต้แย้ง.

ซอฟต์แวร์ที่คล้ายกัน

IPython
IPython

20 Feb 15

LavaPE
LavaPE

20 Feb 15

Jess
Jess

3 Jun 15

ความคิดเห็นที่ Mercury

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!