網(wǎng)友評分: 9.4分
Logtalk是一款功能強(qiáng)大、簡便實(shí)用的面向?qū)ο蟮倪壿嬀幊陶Z言,基于分類組成的編程,具有事件驅(qū)動程序、多層次多線程編程、組件編程等功能,為用戶進(jìn)行邏輯編程帶來了新的方法。
接口與實(shí)現(xiàn)的分離
謂詞指令(聲明)可以包含在協(xié)議(接口)中,它可以由任何對象實(shí)現(xiàn)。協(xié)議是一流的實(shí)體,旁邊的對象和類別。
參數(shù)對象
對象標(biāo)識符可以是包含可用于參數(shù)化對象謂詞的自由變量的復(fù)合項(xiàng)。這允許我們將謂詞子句解釋為提供參數(shù)對象標(biāo)識符的實(shí)例化。即,使用參數(shù)對象,我們可以將任意數(shù)量的謂詞與復(fù)合詞相關(guān)聯(lián)。
支持基于類和基于原型的系統(tǒng)
在同一個應(yīng)用程序中,可能有基于類的層次結(jié)構(gòu)(具有實(shí)例化和專門化關(guān)系)和基于原型的層次結(jié)構(gòu)(具有擴(kuò)展關(guān)系)。此外,諸如協(xié)議(接口)和類別(組件)等基本語言特征可以由類、實(shí)例和原型同時使用。
支持多個對象層次結(jié)構(gòu)
不必局限于一個單一的、長的層次結(jié)構(gòu),它植根于一些通用對象中。
私有、受保護(hù)和公共繼承
logtalk支持私人,保護(hù),并在某種程度上類似于C++的公共遺產(chǎn)。此外,任何實(shí)體關(guān)系都可以使用范圍關(guān)鍵字來限定。例如,對象可以私下實(shí)現(xiàn)協(xié)議,從而使所有協(xié)議聲明的謂詞都是私有的。
私有、受保護(hù)和公共對象謂詞
設(shè)置對象謂詞的范圍以匹配協(xié)議設(shè)計(jì),并讓運(yùn)行時系統(tǒng)強(qiáng)制執(zhí)行您的選擇。
靜態(tài)和動態(tài)對象
對象可以是靜態(tài)的,也可以是動態(tài)的。靜態(tài)對象在源文件中定義,這些源文件以Prolog文件相同的方式編譯和加載。動態(tài)對象可以在源文件中定義,也可以在運(yùn)行時創(chuàng)建。
靜態(tài)和動態(tài)對象謂詞
任何靜態(tài)對象都可以包含靜態(tài)謂詞和動態(tài)謂詞。
LogTalk語法擴(kuò)展標(biāo)準(zhǔn)Prolog語法
LogTalk使用標(biāo)準(zhǔn)的Prolog語法,并添加了一些操作符和指令來實(shí)現(xiàn)平滑的學(xué)習(xí)曲線。Prolog代碼可以很容易地封裝在對象內(nèi),很少或沒有變化。此外,LogTalk可以透明地解釋大多數(shù)Prolog模塊作為Logice對象,以方便重用現(xiàn)有代碼(例如庫)。
λ表達(dá)式
本地支持lambda表達(dá)式,包括咖喱。
事件驅(qū)動程序設(shè)計(jì)
謂詞可以在調(diào)用事件發(fā)生時隱式調(diào)用,允許最小化對象耦合的編程解決方案。此外,事件為行為反射提供支持,并且可以用于實(shí)現(xiàn)面向方面編程中的切入點(diǎn)和建議的概念。
基于構(gòu)件的程序設(shè)計(jì)
謂詞可以封裝在類別內(nèi),可以由任何對象實(shí)際導(dǎo)入,而不需要任何代碼復(fù)制,而不考慮對象層次結(jié)構(gòu)。因此,對象可以通過類別的組合來定義,這些類別作為細(xì)粒度的代碼重用單元。類別也可以擴(kuò)展現(xiàn)有的類別。類別可以用來實(shí)現(xiàn)方面和混合行為,而不需要繼承。類別還支持運(yùn)行代碼的熱修補(bǔ)。
多線程編程
在與選定的后端Prolog編譯器運(yùn)行LogTalk時,可以使用高級別多線程編程,允許對象同時支持同步消息和異步消息。螺紋發(fā)動機(jī),獨(dú)立和并行,以及競爭性或并行性也得到支持。輕松地利用現(xiàn)代多處理器和多核計(jì)算機(jī),而不必?fù)?dān)心創(chuàng)建和銷毀線程的細(xì)節(jié),實(shí)現(xiàn)線程通信,或同步線程。
多繼承多實(shí)例支持
LogTalk支持協(xié)議和實(shí)現(xiàn)的多重繼承。對象可以實(shí)現(xiàn)多個協(xié)議,并擴(kuò)展、專門化或?qū)嵗鄠€對象。多繼承沖突可以通過LogTalk查找算法或顯式地使用謂詞指令來隱式解決。
良好性能
使用與編寫高效PROLO代碼相同的技術(shù)編譯LogTalk代碼。此外,LogTalk支持靜態(tài)綁定和動態(tài)綁定(使用方法查找緩存),大大提高了性能。一些Prolog編譯器的基準(zhǔn)測試結(jié)果在此可用。
與Prolog標(biāo)準(zhǔn)緊密結(jié)合
LogTalk設(shè)計(jì)用于與任何Prolog語言一致或緊密遵循官方和事實(shí)Prolog標(biāo)準(zhǔn)的平滑集成。
兼容大多數(shù)Prolog編譯器
通過一個最小的配置文件與特定的后端Prolog編譯器進(jìn)行對話,使之與幾乎任何現(xiàn)代編譯器兼容。
全面開發(fā)工具集
LogTalk分布包括制作、調(diào)試、文檔化、繪圖、測試、斷言、剖析和移植開發(fā)工具。
V3.17.0
此版本提高了動態(tài)綁定性能;
為檢測可疑調(diào)用添加了一個新的Link標(biāo)志;
添加了一個新的用于幫助基準(zhǔn)性能的生成目標(biāo);
修復(fù)了多線程回歸錯誤;包括對一些示例的改進(jìn)和修復(fù);
改進(jìn)捆綁腳本;
提供對SWI Prolog和YAP的可移植性更新;
以及對文檔、編譯器、庫、工具、示例和安裝程序的其他改進(jìn)和修復(fù)。
關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 hanheng168.com.All rights reserved.
浙ICP備2024132706號-1 浙公網(wǎng)安備33038102330474號