รายละเอียดซอฟแวร์:
Logtalk เป็นแหล่งเปิดขยายเชิงวัตถุการเขียนโปรแกรมภาษา Prolog การบูรณาการโปรแกรมตรรกะกับการเขียนโปรแกรมเชิงวัตถุและเหตุการณ์ที่ขับเคลื่อนด้วยมันเข้ากันได้กับคอมไพเลอร์เปิดฉากมากที่สุด
Logtalk สนับสนุนต้นแบบทั้งสองและชั้นเรียน นอกจากนี้ยังสนับสนุนการเขียนโปรแกรม component-based ที่ผ่านองค์ประกอบประเภทตาม
คุณสมบัติ .
- แยก ระหว่างอินเตอร์เฟซและการดำเนินงาน:
- สั่งกริยา (ประกาศ) สามารถอยู่ภายในโปรโตคอล (อินเตอร์เฟซ) ซึ่งสามารถดำเนินการโดยวัตถุใด ๆ .
- วัตถุ Parametric:
- ชื่อวัตถุสามารถแง่สารประกอบที่มีตัวแปรอิสระที่สามารถนำมาใช้เพื่อ parametrize ภาควัตถุ.
- รองรับการทำงานทั้งระดับพื้นฐานและระบบที่ใช้ต้นแบบ:
- คุณอาจจะมีในโปรแกรมเดียวกัน, ชั้นวรรณะตาม (มีต้นและความสัมพันธ์กับความเชี่ยวชาญ) และลำดับชั้นต้นแบบ-based (ที่มีความสัมพันธ์ส่วนขยาย).
- การสนับสนุนสำหรับลำดับชั้นวัตถุหลาย
- ไม่จำเป็นต้องถูก จำกัด การลำดับชั้นเดียวยาวหยั่งรากลึกในบางวัตถุทั่วไป.
- เอกชน, การป้องกันและมรดกของประชาชน:
- Logtalk สนับสนุนเอกชนป้องกันและมรดกของประชาชนในลักษณะที่คล้ายกันกับ C นอกจากนี้ความสัมพันธ์ของนิติบุคคลใด ๆ ที่สามารถจะมีคุณสมบัติการใช้คำหลักขอบเขต.
- เอกชน, การป้องกันและวัตถุประชาชนภาค:
- ตั้งขอบเขตของวัตถุของคุณ predicates เพื่อให้ตรงกับการออกแบบโปรโตคอลของคุณและให้ระบบ runtime บังคับใช้ตัวเลือกของคุณ.
- วัตถุแบบคงที่และแบบไดนามิก:
- วัตถุสามารถเป็นได้ทั้งแบบคงที่หรือแบบไดนามิก วัตถุคงที่กำหนดไว้ในไฟล์ที่มาซึ่งมีการรวบรวมและโหลดในลักษณะเดียวกับไฟล์เปิดฉาก วัตถุแบบไดนามิกสามารถกำหนดได้ทั้งในแฟ้มแหล่งที่มาหรือสร้างที่รันไทม์.
- วัตถุแบบคงที่และแบบไดนามิกภาค:
- วัตถุใด ๆ ที่คงที่อาจจะมีทั้งภาคแบบคงที่และแบบไดนามิก.
- ประมวลผลก่อนเพื่อให้เราสามารถใช้มาตรฐานเปิดฉากไวยากรณ์:
- Logtalk ใช้ไวยากรณ์เปิดฉากมาตรฐานด้วยนอกเหนือจากผู้ประกอบการน้อยและแนวทางสำหรับการเรียนรู้ได้อย่างราบรื่น.
- การเขียนโปรแกรม Event-driven:
- Predicates สามารถเรียกโดยปริยายเมื่อสอดแนมเหตุการณ์ที่เกิดขึ้นช่วยให้การแก้ปัญหาการเขียนโปรแกรมที่มีเพศสัมพันธ์ลดวัตถุ นอกจากนี้ยังมีกิจกรรมที่ให้การสนับสนุนสำหรับการสะท้อนพฤติกรรม.
- การเขียนโปรแกรมชิ้นส่วนที่ใช้:
- Predicates สามารถห่อหุ้มภายในประเภทที่สามารถนำเข้ามาจริงโดยวัตถุใด ๆ โดยไม่ต้องทำซ้ำรหัสใด ๆ และโดยไม่คำนึงถึงลำดับชั้นของวัตถุ ดังนั้นวัตถุที่อาจถูกกำหนดผ่านองค์ประกอบของประเภทซึ่งทำหน้าที่เป็นเม็ดเล็กรหัสหน่วยนำมาใช้ใหม่.
- การสนับสนุนหลายมรดก
- Logtalk สนับสนุนหลายมรดกของทั้งสองโปรโตคอลและการดำเนินการ วัตถุที่อาจใช้โปรโตคอลหลายแห่งและขยายความเชี่ยวชาญหรือยกตัวอย่างหลายวัตถุ ความขัดแย้งหลายมรดกจะแก้ไขได้โดยปริยายโดยขั้นตอนวิธีการค้นหา Logtalk หรืออย่างชัดเจนโดยใช้คำสั่งวินิจฉัย.
- ผลการดำเนินงานที่ดี:
- รหัส Logtalk จะรวบรวมโดยใช้เทคนิคเดียวกับที่คุณใช้ในการเขียนโค้ดเปิดฉากอย่างมีประสิทธิภาพ นอกจากนี้ในการค้นหาวิธีการที่จะถูกเก็บไว้โดยโปรแกรมรันไทม์ Logtalk อย่างมากการปรับปรุงประสิทธิภาพการทำงาน ผลการเกณฑ์มาตรฐานสำหรับบางคอมไพเลอร์เปิดฉากมีอยู่ที่นี่.
- บูรณาการใกล้ชิดกับมาตรฐาน ISO เปิดฉากมาตรฐาน:
- Logtalk ถูกออกแบบมาสำหรับการรวมราบรื่นกับคอมไพเลอร์เปิดฉากที่สอดคล้องหรือใกล้ชิดตามมาตรฐาน ISO เปิดฉากมาตรฐาน.
- เข้ากันได้กับคอมไพเลอร์เปิดฉากมากที่สุด:
- การเชื่อมต่อ Logtalk กับคอมไพเลอร์เปิดฉากเฉพาะผ่านแฟ้มการกำหนดค่าน้อยที่สุดทำให้มันเข้ากันได้กับเกือบทุกคอมไพเลอร์ที่ทันสมัย.
- รุ่นอัตโนมัติของแฟ้มเอกสาร XML:
- Logtalk โดยอัตโนมัติสร้างแฟ้มเอกสารในรูปแบบ XML สำหรับทุกวัตถุรวบรวมโปรโตคอลหรือหมวดหมู่ ระบบรวมถึงทุก XSL จำเป็น (T) ไฟล์และสคริปต์การแปลงไฟล์เพื่อเก็บเอกสาร (X) HTML และรูปแบบไฟล์ PDF.
- Logtalk ทำงานบนเกือบคอมพิวเตอร์ใด ๆ ที่มีคอมไพเลอร์โปรล็อก (สภาพแวดล้อมการพัฒนาที่สำคัญคือ Apple PowerBook G4 ทำงาน MacOS X) เชื่อมต่อระหว่าง Logtalk และคอมไพเลอร์เปิดฉากที่เฉพาะเจาะจงสามารถทำได้ผ่านทางไฟล์การกำหนดค่า.
- ไฟล์นี้มีบางภาค Logtalk และการใช้งานที่เฉพาะเจาะจงสำหรับมาตรฐาน ISO เปิดฉากภาคไม่สามารถใช้ได้ในคอมไพเลอร์เปิดฉาก.
- ในการเขียน Logtalk ฉันได้พยายามที่จะปฏิบัติตามมาตรฐาน ISO เปิดฉากเมื่อใดก็ตามที่เป็นไปได้ ความสามารถที่จำเป็นโดย Logtalk ที่ไม่ได้กำหนดไว้ในส่วนที่ผมได้รับมาตรฐาน ISO คือ:
- การเข้าถึงสรุปคุณสมบัติ (แบบไดนามิกคง built_in):
- ระบุว่าเปิดฉากที่ชื่นชอบของคุณมีความสามารถเหล่านี้ดังกล่าวข้างต้นทำให้การตั้งค่าไฟล์เป็นเรื่องง่ายมาก แพคเกจ Logtalk แล้วรวมถึงไฟล์การกำหนดค่าสำหรับคอมไพเลอร์ที่พบมากที่สุดเปิดฉาก เพื่อประสิทธิภาพสูงสุด Logtalk ต้องว่าคอมไพเลอร์สนับสนุนการจัดทำดัชนีเปิดฉากแรกอาร์กิวเมนต์สำหรับทั้งรหัสแบบคงที่และแบบไดนามิก.
- Developement Logtalk และการทดสอบจะดำเนินการในขณะนี้ใช้ต่อไปนี้คอมไพเลอร์โปรล็อก (เรียงตามลำดับตัวอักษร):
- GNU เปิดฉาก 1.2.18
- SWI เปิดฉาก 5.4.7
- YAP 4.5.7
- เพราะการที่เหล่านี้อาจจะเป็นทางเลือกที่ดีที่สุดของคุณสำหรับการทำงาน Logtalk (ให้ที่คุณมีอิสระในการใช้คอมไพเลอร์เหล่านี้).
- นอกจากนี้ Logtalk ทำงานด้วยการปรับเปลี่ยนเพียงเล็กน้อยหรือไม่มีมีดังต่อไปคอมไพเลอร์โปรล็อก (เรียงตามลำดับตัวอักษร):
- ALS เปิดฉาก 3.1
- Amzi! เปิดฉาก 6.22 ~ 7.x
- BinProlog 8.x ~ 10 x
- B-เปิดฉาก 4.0, 5.0, 6.x
- CIAO เปิดฉาก 1.10p5
- Eclipse 5.5 ~ 5.8
- ถ้า / เปิดฉาก 5.x
- JIProlog 3.0.1-2
- K-เปิดฉาก 5.1.2a
- LPA MacProlog32 1.25
- LPA WinProlog32 4.0x
- MasterProlog 4.1
- เปิดเปิดฉาก 1.1b10
- PrologII 4.5
- QU-เปิดฉาก 6.7
- Quintus เปิดฉาก 3.3 ~ 3.5
- SICStus เปิดฉาก 3.8 ~ 3.12.x
- XSB 2.6 ~ 2.7
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- แก้ไขข้อความส่งกลไกที่จะเรียก & quot; ก่อน & quot; จัดการเหตุการณ์ก่อนที่จะดำเนินการค้นหาวิธีการที่ การเปลี่ยนแปลงนี้จะไม่มีผลกระทบต่อรหัสที่มีอยู่ แต่ช่วยให้การใช้งานที่น่าสนใจบางอย่าง (เช่นล้มเหลวแทนการขว้างปายกเว้นเมื่อมีข้อความไม่เข้าใจ).
- การจัดการที่สอดคล้องเพิ่มเติมของธงคอมไพเลอร์ระหว่างการตั้งค่าธงเมื่อรวบรวม / โหลดไฟล์และเมื่อใช้ set_logtalk_flag / 2 ตัวในการวินิจฉัยในทั้งสองกรณีการตั้งค่า & quot; smart_compilation & quot; ธงบนจะปิด & quot; สะอาด & quot; ธงและการตั้งค่า & quot; สะอาด & quot; ธงบนจะปิด & quot; smart_compilation & quot; ธง นอกจากนี้การตั้งค่า & quot; การแก้ปัญหา & quot; ธงบนจะปิดทั้ง & quot; smart_compilation & quot; และ & quot; สะอาด & quot; ธง.
- ช่วยสร้างการควบคุมนุ่มตัด (* - & gt;) / 2 เมื่อได้รับการสนับสนุนโดยกำเนิดโดยหลังจบคอมไพเลอร์เปิดฉากที่จะใช้ในร่างกายของกฎไวยากรณ์ (หลังจากพูดโดยแดเนียลดิแอซขณะที่คุย GNU เปิดฉากการสนับสนุนสำหรับการสร้างการควบคุมนุ่มตัด).
- แก้ไขข้อผิดพลาดของคอมไพเลอ Logtalk เมื่อ & quot; source_data & quot; ธงอยู่ในกับคอมไพเลอร์เปิดฉากปลายด้านหลังที่เป็นไปไม่ได้ที่จะดึงตำแหน่งของระยะการอ่าน.
- การแก้ไขข้อผิดพลาดในการรวบรวมของ meta_non_terminal / 1 คำสั่งที่เฉพาะเมตาอาร์กิวเมนต์แรกจะได้รับการประมวลผลได้อย่างถูกต้อง.
- แก้ไขไฟล์ config Eclipse เพื่อตรวจสอบเมื่อทำงานบนระบบ Windows 64 บิตและจะไม่สนใจที่ไม่ได้วินิจฉัยและการส่งออกที่ไม่ได้ดำเนินการเมื่อก่อนการประมวลผล lib / 1 สั่ง.
- ปรับปรุงกรอบการทดสอบหน่วยที่จะพิมพ์ข้อความให้ข้อมูลมากขึ้นสำหรับการทดสอบหน่วยความล้มเหลว.
- กริยาเพิ่มแยก / 4 (สำหรับการแยกรายการเป็นรายการย่อยที่มีความยาวที่กำหนด) กับ & quot; listp & quot ;, & quot; & quot รายการ ;, และ & quot; difflist & quot; หน่วยงานห้องสมุด.
- Updated & quot; ซีซี & quot; ตัวอย่างที่มีความหมายสำหรับเปลือก / 2 กริยาสำหรับ CxProlog.
- เปลี่ยนชื่อของวัตถุใน & quot; ไมล์ & quot; ตัวอย่างที่จะหลีกเลี่ยงความขัดแย้งชื่อเมื่อทำงานตัวอย่างเช่นการทดสอบหน่วย.
- การแก้ไขข้อผิดพลาดในการติดตั้ง Windows ที่ป้องกันไม่ให้เกิดการตรวจสอบของ YAP รุ่น 64 บิต ขอบคุณที่สเตฟาน Ipatov สำหรับรายงานข้อผิดพลาด.
- การแก้ไขข้อผิดพลาดในการติดตั้ง Windows ที่ป้องกันไม่ให้ผู้ใช้จากการกำหนดไดเรกทอรีการติดตั้ง ขอบคุณที่แดเนียล Moniz สำหรับรายงานข้อผิดพลาดและกาวินแลมเบิร์สำหรับการวินิจฉัยข้อผิดพลาด.
- แก้ไขสคริปต์ตัวติดตั้ง Windows สำหรับการตรวจสอบที่ดีขึ้นของ XSB และไปเริ่มต้นการติดตั้งเฉพาะไฟล์ต่อผู้ใช้เมื่อดำเนินการโดยผู้ใช้ที่ไม่ใช่ผู้ดูแลระบบบนคอมพิวเตอร์ที่มีการติดตั้ง Logtalk แล้ว.
- เพิ่มการสนับสนุนขั้นพื้นฐานสำหรับน้ำยาง & quot; ชื่อ & quot; แพคเกจ บันทึกเข้ามาเมื่อ & quot; มิ้นต์ & quot; และ & quot; texmates & quot; แพคเกจน้ำยาง.
- บันทึกเพิ่มเมื่อแก้ไขข้อความ iPad Textastic.
- เพิ่มสีไวยากรณ์ขั้นพื้นฐานและการสนับสนุนพับรหัสสำหรับแก้ไขข้อความ UltraEdit.
- Updated TextMate กำปิดการใช้งานการแก้ไขเยื้องอัตโนมัตินำมาใช้ในการพัฒนาของรุ่น TextMate 2.0.
มีอะไรใหม่ ในรุ่น 2.44.0:
- เปลี่ยนความหมายของการพึ่งพาอาศัยประเภทเพื่อให้ patching ทั้ง ประกาศคำกริยาและคำจำกัดความของคำกริยาของวัตถุที่ครบครัน ซึ่งทำได้โดยการสร้างความมั่นใจว่าการประกาศคำกริยาและการค้นหาความหมายเริ่มต้นที่ประเภทเมี่ยงก่อนที่จะมองเข้าไปในวัตถุครบครันตัวเองหรือเป็นหน่วยงานที่เกี่ยวข้อง.
- Updated Logtalk คอมไพเลอร์เพื่อที่จะสร้างการเตือนเมื่อรวบรวมประเภทเมี่ยงสำหรับวัตถุที่ครบครันที่ได้รับการรวบรวมด้วยการสนับสนุนการพึ่งพาประเภทปิด.
- การแก้ไขข้อผิดพลาดในการประมวลผลของสาย meta-สำหรับภาค meta-ที่บริบทโทรจะได้รับการตั้งค่าให้ & quot; นี้ & quot; แทนที่จะ & quot; ผู้ส่ง & quot; เมื่อใดก็ตามที่เมตาอาร์กิวเมนต์เป็นหนึ่งใน :: / 2, {} / 1,
มีอะไรใหม่ ในรุ่น 2.43.3:
- เปลี่ยนคอมไพเลอร์ที่จะคำนึงถึงการใช้งาน / 2 สั่งเมื่อรวบรวมโทรไปยังสะท้อนให้เห็นในตัววิธีการ การเปลี่ยนแปลงนี้จะขยายความหมายของการใช้ / 2 คำสั่งและช่วยให้การโยกย้ายได้ง่ายขึ้นจากการใช้งานเปิดฉากธรรมดา Logtalk.
- การปรับปรุงการดำเนินงานของ predicate_property / 2 วิธีในตัวเพิ่มขอบเขต / 1 สถานที่ให้บริการ.
- Updated Logtalk คอมไพเลอร์ที่จะเพิ่มข้อมูลเกี่ยวกับแหล่งที่มาของชื่อแฟ้มไดเรกทอรีแฟ้มแหล่งที่มาและแฟ้มแหล่งที่มาคอมไพเลอร์ตัวเลือกในการสร้างไฟล์เปิดฉาก ในรุ่นก่อนหน้าข้อมูลนี้ได้รับการจดทะเบียนเท่านั้นเมื่อโหลดแฟ้มแหล่งที่มา ลดความซับซ้อนของการเปลี่ยนแปลงการใช้งานอาคารที่ห้องสมุดมี Logtalk ก่อนรวบรวมและก่อนโหลด.
- Updated Logtalk คอมไพเลอร์ในการพิมพ์ชื่อของวัตถุตะขอที่ใช้ในการรวบรวมไฟล์ที่มาเมื่อ & quot; เบ็ด & quot; ธงคอมไพเลอร์จะถูกกำหนด.
- แก้ไขในตัวดีบักเพื่อหลีกเลี่ยงการเลือกจุดที่ไม่จำเป็นที่สร้างขึ้นโดยปลายด้านหลังเปิดฉากคอมไพเลอร์ที่มีดึง / 1 การดำเนินการล้มเหลวในการใช้ประโยชน์จากความหมายการปรับปรุงเหตุผลที่จะทำให้สายที่กำหนด.
- การแก้ไขข้อผิดพลาดในการจัดการ runtime Logtalk คอมไพเลอร์ที่มันล้มเหลวที่จะแยกตัวระบุนิติบุคคลภายในเมื่อโยนข้อยกเว้นการดำรงอยู่ของกิจการที่.
- Updated ยันไฟล์ config เปิดฉากเพิ่มดัชนี / 1 สั่งสำหรับบางส่วนของภาคแบบไดนามิกที่ใช้โดย Logtalk ภายในตาราง runtime.
- Updated SWI-เปิดฉากไฟล์บูรณาการเพื่อทดสอบความพร้อมของดัชนี / 1 สั่งซึ่งจะเลิกโดยการทดลองใหม่สนับสนุน SWI-เปิดฉากเพียงในเวลาการจัดทำดัชนีหลายอาร์กิวเมนต์.
- เพิ่ม predicates subsequence / 4 (สำหรับการสร้าง subsequences ของรายการที่มีความยาวที่กำหนด) แทน / 4 (สำหรับการเปลี่ยนองค์ประกอบในรายการ) และ hamming_distance / 3 ไปยังห้องสมุด & quot; listp & quot; และ & quot; รายการ & quot; หน่วยงาน.
- เพิ่ม euclidean_norm / 2, chebyshev_norm / 2, manhattan_norm / 2, euclidean_distance / 3, chebyshev_distance / 3, manhattan_distance / 3 และ scalar_product / 3 ภาคที่ห้องสมุด & quot; numberlistp & quot; และ & quot; numberlist & quot; หน่วยงาน.
- แก้ไขข้อบกพร่องบางอย่างโง่ในความหมายของ & quot; ตัวละคร & quot; ไลบรารีวัตถุ predicates is_bin_digit / 1, is_octal_digit / 1, is_dec_digit / 1, และ is_hex_digit / 1.
- ปรับปรุงห้องสมุด & quot; all_loader.lgt & quot; โหลดไฟล์ไปยังโหลด & quot; meta_compiler_loader.lgt & quot; โหลดไฟล์.
มีอะไรใหม่ ในรุ่น 2.43.1:
- เปลี่ยนคอมไพเลอร์ที่จะคำนึงถึงการใช้งาน / 2 สั่งเมื่อรวบรวมการโทรไปยังฐานข้อมูลในตัววิธีการ การเปลี่ยนแปลงนี้จะขยายความหมายของการใช้ / 2 คำสั่งและช่วยให้การโยกย้ายได้ง่ายขึ้นจากการใช้งานเปิดฉากธรรมดา Logtalk.
- เพิ่มการสนับสนุนสำหรับการทดลองใช้แม่แบบกริยาเป็นอาร์กิวเมนต์ coinductive / 1 สั่ง แม่แบบนี้จะช่วยให้สเปคของข้อโต้แย้งที่มีความหมายสำหรับความสำเร็จ coinductive ขึ้นอยู่กับการทำงานที่คล้ายกันพบบนเฟลิคส์ Kluzniak ของ DRA เมตาล่าม.
- การปรับปรุงการสนับสนุนการแก้จุดบกพร่องภาค coinductive เมื่อใช้ Logtalk ในตัวดีบัก.
- การแกะสนับสนุน coinduction สำหรับ CxProlog รุ่นปัจจุบันของคอมไพเลอร์นี้ขาดนุ่มตัดตัวในการวินิจฉัยหรือการสร้างการควบคุมซึ่งเป็นสิ่งจำเป็นในขณะนี้โดยการดำเนินการทดลอง coinduction.
- ยกข้อ จำกัด อันยาวนานที่จะป้องกันไม่นิยามของผู้ใช้ภาคเสื้อคลุมสำหรับ bagof / 3 และ setof / 3 ในตัววิธีการเมื่อใดก็ตามที่อาร์กิวเมนต์เป้าหมายอาจจะใช้ ^ / 2 ปริมาณการดำรงอยู่.
- เพิ่มการสนับสนุนสำหรับ & quot; ^ & quot; เมตากริยาระบุโหมดอาร์กิวเมนต์ meta-แนะนำโดย ม.ค. Wielemaker และพบใน SWI-เปิดฉาก 5.11.25 ระบุโหมดนี้จะเป็นประโยชน์เมื่อกำหนด wrappers สำหรับ bagof / 3 และ setof / 3 วิธีในตัวเมื่อใดก็ตามที่อาร์กิวเมนต์เป้าหมายอาจจะใช้ ^ / 2 ปริมาณการดำรงอยู่.
- เพิ่ม & quot; prolog_compiler & quot; และ & quot; prolog_loader & quot; ธงคอมไพเลอร์ที่ช่วยให้การส่งผ่านตัวเลือกที่จะสิ้นสุดหลังเปิดฉากคอมไพเลอร์ในตัวภาคที่รวบรวมไปยังดิสก์และโหลด (รวบรวม) ธงเปิดฉาก ค่าเริ่มต้นสำหรับธงทั้งสองเป็นรายการที่ว่างเปล่า.
- แก้ไขข้อผิดพลาดเมื่อรวบรวมโทรไปเปิดฉากกรรมสิทธิ์ในตัวภาคผลาญในระดับที่คอมไพเลอร์ Logtalk อาจพยายามที่จะดำเนินการไม่ใช่การขัดแย้งผลาญในระดับที่เป็นเป้าหมาย ข้อผิดพลาดนี้ประจักษ์เพียงตัวเองด้วยบางส่วนกลับสิ้นคอมไพเลอร์เปิดฉากเช่น Eclipse.
- การแก้ไขข้อผิดพลาดในการประมวลผลของคำสั่งรวบรวมเงื่อนไข.
- แก้ไขข้อผิดพลาดที่จะป้องกันไม่ผ่านนามแฝง / 3 แนวทางในการโทรไปยัง create_object / 4, create_category / 4, และ create_protocol / 3 ตัวในภาค.
- ออกจากในตัววัตถุ & quot; Logtalk & quot; decompile_predicate_head / 4 และ decompile_predicate_indicator / 4 วิธีการเลิก.
- ยกเลิกการสนับสนุนสำหรับเลิกนาน Logtalk metapredicate / 1 สั่ง.
- แก้ไขข้อผิดพลาดประสิทธิภาพการทำงานเมื่อแคชโทรไปที่ประเภทภาคที่รายการที่เก็บไว้อาจจะเฉพาะเจาะจงมากขึ้นกว่าที่จำเป็นเมื่อทำงานกับประเภทพารา.
- ปรับปรุงแคชของ & quot; ซุปเปอร์ & quot; เรียกร้องจากภายในต้นแบบ ก่อนหน้านี้รายการที่เก็บไว้ทั้งหมดจะได้รับความเชี่ยวชาญด้วยค่าของ & quot; ตัวเอง & quot; เพื่อที่จะจัดการอย่างถูกต้องกับกรณีพิเศษที่ instantiates วัตถุทั้งสองและความเชี่ยวชาญวัตถุอื่น ๆ .
- Updated คอมไพเลอร์ Logtalk เพื่อเปิดใช้งานผู้ประกอบการประกาศใด ๆ ที่พบในแนวทางขอบเขตกริยาในระหว่างการรวบรวมของหน่วยงานที่มีคำสั่ง.
- การปรับปรุงประสิทธิภาพการทำงานของภาค coinductive เมื่อใช้ปลายด้านหลังคอมไพเลอร์เปิดฉากเช่น SICStus เปิดฉากที่ไม่ให้สร้างควบคุมนุ่มตัด แต่ให้นุ่มตัดในตัวเมตากริยา (ถ้า / 3).
- การแก้ไขข้อผิดพลาดที่รายงานปลอมของสะสม / คำเตือนในการโหลดอาจจะพิมพ์เมื่อแฟ้มแหล่งรวบรวม / เต็มไปด้วยธงคอมไพเลอร์ & quot; รายงาน & quot; ปิด.
- เพิ่ม & quot; streamvars & quot; วัตถุห้องสมุดมาจากที่มีอยู่เดิมและ quot; assignvars & quot; ประเภทห้องสมุดที่มีการสนับสนุนสำหรับการเพิ่มและเรียกแง่ (ซึ่งอาจจะเป็นตัวแปร) จาก & quot; กระแส & quot; ตัวแปร.
- Updated & quot; coinduction & quot; ตัวอย่างเช่นการใช้ประโยชน์จากการปรับปรุง coinductive / 1 คำสั่งและการขยายจำนวนตัวอย่างบุคคลที่สามารถทำงานโดยใช้ SICStus เปิดฉาก เพิ่มรูปแบบการตรวจสอบตัวอย่างเช่นการใช้ coinduction, coroutining และข้อ จำกัด สนับสนุนโดย Neda Saeedloei.
- Updated & quot; metapredicates & quot; เช่นกับโค้ดตัวอย่างที่แสดงวิธีการกำหนด wrappers สำหรับ bagof / 3 และ setof / 3 วิธีในตัวเมื่อเมตาอาร์กิวเมนต์อาจจะมีตัวแปรที่มีคุณสมบัติ existentially.
- Updated & quot; ซีซี & quot; ตัวอย่างเช่นการแก้ไขคำจำกัดความของคำกริยาสำหรับคอมไพเลอร์เปิดฉากปลายด้านหลังหลายและการเพิ่มการทดสอบหน่วยพื้นฐานบางอย่าง.
- Updated & quot; การเข้ารหัส & quot; ตัวอย่างเช่นด้วยการสนับสนุนที่ จำกัด สำหรับยันเปิดฉาก.
- เพิ่มรายการที่ขาดหายไปสำหรับ meta_non_terminal / 1 คำสั่งและการเรียก // ไม่ใช่ N-terminal เพื่อ & quot; ช่วยให้ & quot; ตัวอย่างเช่น.
- เพิ่ม parser สำหรับ PDDL 3.0 ไฟล์ส่วนโรเบิร์ต Sasak.
- พับรหัสเพิ่มการสนับสนุนการแก้ไขข้อความ SubEthaEdit พับรหัสเพิ่มการสนับสนุนสำหรับบล็อกรวบรวมเงื่อนไขการเคทเป็นกลุ่มและแก้ไขข้อความ TextMate.
- แก้ไขสคริปต์บูรณาการในการที่จะโหลดเส้นทางห้องสมุดยื่นก่อนที่จะโหลด Logtalk คอมไพเลอร์ / รันไทม์ การเปลี่ยนแปลงนี้มีจุดมุ่งหมายเพื่อลดความซับซ้อนของการโหลดไฟล์ห้องสมุดและตัวอย่างจากไฟล์การตั้งค่า นอกจากนี้ยังมองหาไดเรกทอรีการติดตั้ง Logtalk ใน $ HOME / หุ้นเมื่อตัวแปรสภาพแวดล้อม LOGTALKHOME ไม่ได้กำหนดไว้ ขอบคุณ VATOR Santos Costa สำหรับข้อเสนอแนะ.
- ปรับปรุงการติดตั้งของ Windows เพื่อรองรับการเปิดฉากลีนและตรวจสอบ YAP รุ่น 64 บิต.
มีอะไรใหม่ ในรุ่น 2.43.0.
- เพิ่มการสนับสนุนการทดลองสำหรับยันเปิดฉาก
- รายงานข้อผิดพลาดการเปลี่ยนแปลงโดยคอมไพเลอร์ Logtalk และรันไทม์ เงื่อนไขทั้งหมดยกเว้นตอนนี้ใช้เมื่อใดก็ตามที่เป็นไปได้ข้อผิดพลาด (ข้อผิดพลาด, Logtalk (เป้าหมาย Entity))
- รูปแบบ เปลี่ยนข้อผิดพลาดภายในการตรวจสอบที่จะใช้เมื่อใดก็ตามที่ปฏิบัติใหม่ '$ lgt_must_be' / 2-3 ภาคภายใน.
- เพิ่ม & quot; เพิ่มประสิทธิภาพ & quot; ธงที่มีค่าเริ่มต้นคือ & quot; & quot ;. ธงนี้ช่วยให้ผู้ใช้ในการปิดการเพิ่มประสิทธิภาพที่มีอยู่เช่น งานการแก้จุดบกพร่อง (
- การเพิ่มประสิทธิภาพการใช้งานในขณะนี้รวมถึงการกำจัดของสายซ้ำซ้อนเป็นจริง / 0 จากร่างกายของรวบรวมข้อวินิจฉัยและการกำจัดของ
- โทรซ้ำซ้อน (=) / 2 จากร่างกายของคำสั่งที่สร้างขึ้นโดยการขยายตัวของกฎไวยากรณ์).
- เพิ่ม & quot; source_data & quot; ธงที่มีค่าเริ่มต้นคือ & quot; & quot ;. ด้วยธงนี้ตั้ง & quot; & quot ;, Logtalk จะเก็บข้อมูลเป็นตัวแทนใช้โหมด / 2,
- ข้อมูล / 1-2 ใช้ / 2 และ use_module / 2 แนวทางบวกแหล่งข้อมูลสถานที่ตั้ง (รวมถึงชื่อแฟ้มแหล่งที่มาและหมายเลขบรรทัด) ที่มีประโยชน์ทั้งสำหรับการแก้จุดบกพร่อง
- และสำหรับการทำงานร่วมกับเครื่องมือในการพัฒนา ธงนี้สามารถปิดได้เพื่อสร้างโค้ดขนาดกะทัดรัดมากขึ้น parameter_names / 1 วัตถุและ
- อสังหาริมทรัพย์ประเภทจะถูกลบออกเพื่อหลีกเลี่ยงความซ้ำซ้อน.
- การดำเนินการป้องกัน / 1 และภาคเอกชน / 1 คุณสมบัติสำหรับวัตถุโปรโตคอลและประเภท ร่วมกับสถานที่ให้บริการประชาชน / 1, คุณสมบัติเหล่านี้
- ช่วยให้รายชื่อของภาคการประกาศในกิจการที่จะเข้าถึงได้สำหรับการคำนวณสะท้อนแสง ดำเนินการประกาศ / 2, กำหนด / 2, รวมถึง / 3,
- และให้ / 3 คุณสมบัติในการเข้าถึงคุณสมบัติของภาคการประกาศและกำหนดภายในกิจการ คุณสมบัติปฏิญญารวมถึง line_count / 1, หมายเลขบรรทัดคำสั่งของขอบเขตกริยา คุณสมบัติความหมายรวมถึง line_count / 1, จำนวนสายของหัวของครั้งแรก
- ข้อสำหรับคำกริยาและ number_of_clauses / 1, จำนวนของข้อสำหรับคำกริยา นอกจากนี้การดำเนินการทดลองใช้ / 3 และ use_module / 3 คุณสมบัติ.
- เพิ่มสถานที่ให้บริการคำกริยา, redefined_from / 1, ช่วยให้การสอบถามเกี่ยวกับวัตถุหรือประเภทที่มีความหมายคำกริยาที่เป็นนิยามใหม่.
- เพิ่ม loaded_file / 3 กริยากับ & quot; Logtalk & quot; ในตัววัตถุที่เติมเต็ม loaded_file ที่มีอยู่ / 2 วินิจฉัยและให้การเข้าถึง
- ตัวเลือกอย่างชัดเจนใช้เมื่อไฟล์ถูกรวบรวมและโหลด.
- คอมไพเลอร์สนับสนุนการดำเนินการสำหรับ meta_non_terminal / 1 สั่งและโทร // ไม่มีในตัวไม่ใช่ขั้ว.
- ย่อรวบรวมกฎไวยากรณ์โดยการเอาการสนับสนุนสำหรับการรับมือกับขอบเขตที่ไม่ใช่ขั้วและข้อผิดพลาดการดำรงอยู่ที่กฎไวยากรณ์
- ระดับแทนระดับกริยา แม้ว่าคุณลักษณะนี้อาจจะเป็นประโยชน์เมื่อการแก้จุดบกพร่องกฎไวยากรณ์มันซับซ้อนการบูรณาการ Logtalk กับเครื่องมือในการพัฒนาเปิดฉากพื้นเมือง.
- Updated คอมไพเลอร์ Logtalk เพื่อประหยัดสถานข้อนิติบุคคลและให้ข้อมูลเหล่านี้พร้อมที่จะกลับสิ้นคอมไพเลอร์เปิดฉาก.
- Updated Logtalk คอมไพเลอร์เพื่อที่จะหลีกเลี่ยงการสร้างข้อ catchall ภายในที่ไม่จำเป็นสำหรับการประกาศคำกริยาและตารางความหมายสำหรับองค์กรแบบไดนามิก.
- Updated คอมไพเลอร์ Logtalk เพื่อดักคอใช้ภาค multifile สำหรับการทำลายห่อหุ้มวัตถุ ประกาศหลัก
- นิติบุคคลต้องมีอยู่มีทั้งขอบเขตและสั่ง multifile สำหรับคำกริยา นอกจากนี้การกำหนดข้อสำหรับ multifile
- Entity :: Functor / Arity โดยไม่ต้องสอดคล้อง multifile / 1 สั่งตอนนี้จะมีผลในการรวบรวมข้อผิดพลาดแทนที่จะเตือน.
- ถอดข้อ จำกัด Logtalk คอมไพเลอร์ที่บังคับให้ discontiguous / 1 และแบบไดนามิก / 1 คำสั่งที่จะนำสายไปยังภาคการประกาศ.
- การปรับปรุงรายงาน Logtalk คอมไพเลอร์ของสายการสะกดผิดขั้วไม่ใช่ในกฎไวยากรณ์.
- อนุญาตให้ใช้:. / 1 ควบคุมสร้างบนร่างกายของกฎไวยากรณ์
- เมื่อการแก้จุดบกพร่องข้อความที่ระบุไว้ในการใช้งาน / 2 สั่งข้อความจะถูกพิมพ์ในขณะนี้ผ่านการรับรองโดยปริยายเช่นเดียวกับในรหัสต้นฉบับที่เขียนโดยผู้ใช้.
- การเปลี่ยนแปลงภายในภาคที่ใช้ในการดำเนินงานของภาคในตัวหลายเธรด-เพื่อความสะดวกในการทำงานร่วมกับ
- เครื่องมือการแก้จุดบกพร่องในระดับสูงที่ต้องใช้ไพสร้างรหัสเปิดฉาก.
- การแก้ไขข้อผิดพลาดที่นำมาใช้ใน Logtalk 2.42.4 ในการสะสมของภาคหน่วยงานที่เรียกตรงกันภาค ข้อผิดพลาดนี้ส่งผลให้สาย
- การทำแทนในรูปแบบที่ไม่ตรงกันของภาคซึ่งจะแสดงให้เห็นความล้มเหลวในการสุ่มของเป้าหมายด้าย.
- แก้ไขข้อผิดพลาดที่ยาวนาน runtime รวบรวมเมตาโทรภายในหมวดหมู่จะถูกรวบรวมเป็นเรียกร้องให้กริยาของวัตถุ
- นำเข้าประเภทแทนเช่นการเรียกร้องให้กริยาประเภทท้องถิ่น.
- แก้ไขข้อผิดพลาดที่ยาวนานค่าธงนิติบุคคลที่ตั้งในประเทศโดยใช้ set_logtalk_flag / 2 คำสั่งจะล้มเหลวที่จะได้รับการบันทึกลงในกิจการ
- รหัสเรียบเรียง.
- แก้ไขข้อผิดพลาดยืนเป็นเวลานานเมื่อยกเลิกคำกริยาแบบไดนามิกในวัตถุที่ไม่ใช่ต้นแบบที่ยกเลิก / 1 วิธีการจะประสบความสำเร็จโดยไม่ต้อง
- กริยาถูกยกเลิกจริง.
- การแก้ไขข้อผิดพลาดในการตั้งค่าบริบทการดำเนินการที่ถูกต้องเมื่อเรียกอาร์กิวเมนต์ meta-ที่ต้องรวบรวม runtime ในบริบทของ
- & quot; ผู้ส่ง & quot;.
- การแก้ไขข้อผิดพลาดในการรวบรวมของสายอย่างชัดเจนผ่านการรับรองโมดูลภาค meta-ที่คุณสมบัติโมดูลจะถูกลดลงจาก
- โทรรวบรวม โปรดทราบว่าสายเหล่านี้จะใช้ความหมาย Logtalk เมตากริยา (เช่นข้อโต้แย้งเมตาจะถูกเรียกว่าในบริบทของ
- โทร) แทนที่จะเป็นโมดูลเปิดฉากความหมายเมตากริยา.
- การแก้ไขข้อผิดพลาดที่กอง coinduction ไม่ได้เริ่มต้นเมื่อใช้
มีอะไรใหม่ ในรุ่น 2.42.4:
- รุ่นนี้รวมถึงคอมไพเลอร์รันไทม์และหลาย เกลียวเพิ่มประสิทธิภาพการปฏิบัติงานปรับปรุงข้อผิดพลาดคอมไพเลอร์สำหรับการทำข้อมูลให้ตรงกัน / 1 และแบบไดนามิก / 1 สั่งเพิ่มการสนับสนุนสำหรับการรักษาข้อมูลขอบเขตการดำเนินการและการแสดงผลข้อมูลนี้เพื่อ XML สร้างขึ้นโดยอัตโนมัติการจัดเก็บเอกสารไฟล์เพิ่มยูทิลิตี้ภาคใหม่กับวัตถุ Logtalk ที่ช่วยเพิ่มการเขียนโปรแกรมหลาย ตัวอย่างรวมถึงการแก้ปัญหาสำหรับ SWI-เปิดฉากข้อผิดพลาดถอนการติดตั้งบน Windows และมีการปรับปรุงการพกพาสำหรับ Qu-เปิดฉาก SICStus เปิดฉาก SWI-เปิดฉาก XSB และ YAP.
มีอะไรใหม่ ในรุ่น 2.42.3:
- รุ่นนี้เพิ่มการสนับสนุนสำหรับการโทรแบบไดนามิกในภาค บริบทของ & quot; นี้ & quot; จากภายในประเภทเพิ่มการสนับสนุนสำหรับก่อนรวบรวมหัวข้อรวมถึง bugfixes และการปรับปรุงการดีบักในตัวรวมถึงห้องสมุดที่ดีขึ้นและตัวอย่างเพิ่มการสนับสนุนสำหรับ indexicals เมื่อใช้ SICStus เปิดฉาก CLP (FD) ห้องสมุดเพิ่มตัวอย่างเช่นการทดลอง ใช้ตัวแปรประกอบภายในวัตถุและหมวดหมู่และมีการปรับปรุงการพกพาสำหรับ Eclipse, GNU เปิดฉาก SICStus อารัมภบทและ SWI-เปิดฉาก.
มีอะไรใหม่ ในรุ่น 2.42.2:
- รุ่นนี้ช่วยเพิ่มการสะสมของการโทรไปยังโมดูลภาค ช่วยเพิ่มการตรวจสอบของเมตาข้อโต้แย้งในการโทรเมตากริยาช่วยเพิ่มการสนับสนุนสำหรับการแสดงออกแลมบ์ดารวมถึงคอมไพเลอร์เพิ่มประสิทธิภาพสำหรับการโทรไปยังห้องสมุดเมตาเพเพิ่มห้องสมุดใหม่สำหรับเหตุการณ์การเข้าสู่ระบบการทำงานที่มีความสัมพันธ์ช่วงเวลาชั่วขณะและการใช้เคาน์เตอร์จำนวนเต็มปรับปรุง ตัวอย่างที่มีอยู่และห้องสมุดเพิ่มการสนับสนุนสำหรับการใช้แพคเกจ SyntaxHighlighter JavaScript-based และมีการปรับปรุงการพกพาสำหรับ GNU Prolog, Qu-เปิดฉาก SICStus เปิดฉาก SWI-อารัมภบทและ XSB.
มีอะไรใหม่ ในรุ่น 2.42.1:
- รุ่นนี้เพิ่มการสนับสนุนสำหรับโหมดเมตากริยาใหม่ ตัวชี้วัดที่ช่วยให้การสนับสนุนสำหรับกรรมสิทธิ์เพิ่มเติมเปิดฉากในตัวเมตาเพร.
- การสนับสนุนถูกเพิ่มเข้ามาในการตรวจสอบและการรายงานแบบไดนามิกที่หายไป / 1 และ discontiguous / 1 สั่ง.
- ธงผ้าสำลีใหม่เพิ่ม.
- สองเมตาวินิจฉัยข้อบกพร่องรวบรวมได้รับการแก้ไข.
- บางส่วนของตัวอย่างได้รับการปรับปรุง.
- การปรับปรุงพกพาที่ถูกสร้างขึ้นสำหรับ B-เปิดฉาก SICStus เปิดฉาก SWI-เปิดฉาก XSB และ YAP.
ความคิดเห็นที่ไม่พบ