Logtalk

軟件截圖:
Logtalk
軟件詳細信息:
版本: 2.44.1
上傳日期: 14 Apr 15
開發: Paulo Moura
許可: 免費
人氣: 1

Rating: nan/5 (Total Votes: 0)

Logtalk是一個開源的面向對象擴展到Prolog的編程語言。集成邏輯編程與面向對象和事件驅動編程,這是最Prolog的編譯器兼容。
Logtalk支持原型和類。此外,它支持通過基於分類的組成基於組件的編程

特點

    分離接口與實現之間:
  • 謂詞偽指令(聲明)可以含有內部協議(接口),這可以通過任何對象來實現。

  • <李類=“bbli”>參數對象:
  • 對象的名稱可以是含有可被用於參數化對象謂詞自由變量複合術語

  • <李類=“bbli”>同時支持基於類和原型為基礎的系統:
  • 您可能會在同一個應用程序,基於類的層次結構(與實例化和專業化的關係),並基於原型的層次結構(擴展的關係)。

  • <李類=“bbli”>支持多種對象層次:
  • 在不需要被限制在一個單一冗長的層次結構根植於一些通用的對象。

  • <李類=“bbli”>私有,保護和公共繼承:
  • 在Logtalk支持私有,保護和公共繼承類似於C的方式。此外,任何實體關係可以使用關鍵字範圍加以限定。

  • <李類=“bbli”>私有,保護和公共對象謂詞:
  • 您的對象的設定範圍謂詞來匹配您的協議設計,讓系統運行時執行你的選擇。

  • <李類=“bbli”>靜態和動態對象:
  • 的對象可以是靜態或動態。靜態對象是在其中被編譯並以相同的方式如Prolog的文件加載的源文件中定義。動態對象可以在源文件中被定義或是創建在運行時。

  • <李類=“bbli”>靜態和動態對象謂詞:
  • 任何靜態對象可以包含靜態和動態的謂詞。

  • <李類=“bbli”>預處理器,所以我們可以使用標準的Prolog的語法:
  • 在Logtalk使用標準的Prolog語法,增加了一些運營商和指令平滑的學習曲線。

  • <李類=“bbli”>事件驅動編程:
  • 在謂詞可以當窺探事件發生時被隱式調用,使編程解決方案,最大限度地減少對象耦合。此外,事件為反思行為的支持。

  • <李類=“bbli”>基於組件的編程:
  • 在謂詞可以內部類,它可以用任何物體幾乎被進口封裝,無需任何代碼重複,無論對象層次的。因此,對象可以通過類,其中充當重用作為細粒單位代碼的組合物來限定。

  • <李類=“bbli”>多重繼承的支持:
  • 在Logtalk支持多繼承雙方的協議和實施。一個對象可以實現多種協議和擴展,專業,或幾個實例化對象。多繼承衝突由Logtalk查找算法或顯式地使用謂詞指令隱含解決。

  • <李類=“bbli”>性能好:
  • 在Logtalk代碼使用您用來編寫高效的Prolog代碼相同的工藝編制而成。此外,方法查找被Logtalk運行時引擎的緩存,大大提高了性能。在基準測試結果對於一些Prolog的編譯器可以在這裡找到。

  • <李類=“bbli”>與ISO Prolog的標準緊密結合:
  • 在Logtalk是專為與任何Prolog的編譯器,符合或接近遵循ISO標準的Prolog順利整合。

  • <李類=“bbli”>兼容大多數Prolog的編譯器:
  • 在Logtalk接口,通過使其與幾乎任何現代的編譯器兼容的最小配置文件中的特定的Prolog編譯器。

  • <李類=“bbli”>自動生成的XML文檔文件:
  • 在Logtalk自動生成每一個編譯對象,協議或類別的XML格式的文檔文件。該系統包括所有必要的XSL(T)文件和腳本轉換記錄文件(X)HTML和PDF。
  • 在Logtalk運行在一個Prolog的編譯器(主要開發環境是運行的MacOS X的蘋果PowerBook G4),幾乎任何一台計算機。 Logtalk和特定的Prolog編譯器之間的接口經由配置文件來實現的。
  • 在該文件中包含一些特定Logtalk謂詞和實現了ISO Prolog的標準謂詞不是在序言中編譯器可用。

  • <李類=“bbli”>在寫Logtalk我試圖按照Prolog的ISO標準只要有​​可能。所需Logtalk能力未在ISO標準的第一部分定義是:
    <李類=“bbli”>訪問謂詞屬性(動態,靜態,BUILT_IN):
  • 前提是你最喜歡的Prolog的有上面提到的這些功能,使一個配置文件是很容易的。該Logtalk包已經包含配置文件中最常見的Prolog編譯器。為了獲得最佳性能,Logtalk要求的Prolog編譯器支持的第一參數索引靜態和動態代碼。

  • <李類=“bbli”>目前正在使用下面的Prolog的編譯器(排名不分先後)進行Logtalk研究與開發和測試:
  • 在GNU Prolog的1.2.18
  • 在SWI Prolog的5.4.7
  • YAP 4.5.7
  • 在這一點,因為,這些可能是你最好的選擇運行Logtalk(提供,你可以自由地使用這些編譯器之一)。

  • <李類=“bbli”>此外,Logtalk運行與下面的Prolog的編譯器很少或根本沒有修改(按字母順序排列):
  • 在ALS的Prolog 3.1
  • 在暗洗!序言6.22〜7.x的
  • 在BinProlog 8.x的〜10.x的
  • 在B-Prolog的4.0,5.0,6.x的
  • 在CIAO的Prolog 1.10p5
  • 在Eclipse的5.5〜5.8
  • 如果/ 5.x的序言
  • 在JIProlog 3.0.1-2
  • 在K-Prolog的5.1.2a
  • 在LPA MacProlog32 1.25
  • 在LPA WinProlog32 4.0倍
  • 在MasterProlog 4.1
  • 開啟的Prolog 1.1b10
  • 在PrologII 4.5
  • 在QU-Prolog的6.7
  • 在Quintus的Prolog的3.3〜3.5
  • 在SICStus Prolog的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,當本地的後端Prolog的編譯器支持,將在語法規則的身體,同時討論GNU使用(一句話丹尼爾·迪亞斯後序言支持軟切控制結構)。
  • 修正了Logtalk編譯器錯誤時&QUOT; source_data&QUOT;標誌為ON與後端的Prolog編譯器,其中是不可能的檢索讀術語的位置。
  • 在的meta_non_terminal / 1指令,其中只有第一個薈萃論點正確處理編譯更正的錯誤。
  • 在更新了Eclipse的配置文件來檢測在Windows 64位系統上運行時,並忽略非謂語和非運營商出口時,預先處理的lib / 1指令。
  • 在更新單元測試框架失敗的單元測試打印更多的信息的消息。
  • 新增謂詞分裂/ 4(分裂名單成子列表與給定的長度)的&QUOT; listp&QUOT;,&QUOT;列表&QUOT;和&QUOT; difflist&QUOT;庫實體。
  • 在更新了&QUOT; CC&QUOT;例如與外殼/ 2謂詞CxProlog的定義。
  • 在改變,在與QUOT對象的名稱; MI&QUOT;運行示例單元測試時的例子來避免名稱衝突。
  • 在Windows的安裝程序,防止檢測YAP 64位版本修正了一個錯誤。由於斯捷潘Ipatov的錯誤報告。
  • 在Windows的安裝程序,阻止用戶自定義安裝目錄更正的錯誤。感謝丹尼爾·莫尼斯的錯誤報告,並加文·蘭伯特用於診斷錯誤。
  • 在更新了XSB的完善的檢測Windows安裝腳本,並通過默認在已安裝Logtalk的計算機上的非管理員用戶運行時只安裝每個用戶的文件。
  • 在增加了對乳膠和QUOT基本支持;列表&QUOT;包。添加筆記上的&QUOT;鑄造&QUOT;和&QUOT; texmates&QUOT; LaTeX的包。
  • 在Textastic iPad的文本編輯器添加了註釋。
  • 在增加了對UltraEdit的文本編輯器的基本語法著色和代碼折疊的支持。
  • 在更新了TextMate的捆綁,以禁用TextMate的2.0的開發版本引入了自動縮進更正。

什麼的2.44.0版本是新的

  • 在補充類,允許修補兩者改變了語義謂詞聲明和補充對象的謂詞定義。這是通過確保謂詞聲明和定義查找展望補充對象本身或成及其相關實體開始之前在補充類來完成的。
  • 在更新了Logtalk編譯器,以便為與支持編譯為補充類別關閉一個補充對象編譯補充類別時生成一個警告。
  • 修正在元呼籲元謂詞,其中調用上下文將被設置為QUOT的處理的錯誤,這&QUOT;而不是&QUOT;發件人&QUOT;每當元論據是一個:: / 2,{} / 1,

什麼的2.43.3版本是新的

  • 在改變了編譯器要考慮到用途/編譯調用反射內置方法時2指令。這種變化擴展用途/ 2指令的語義,並允許更容易遷移,從普通的Prolog應用Logtalk。
  • 在更新了predicate_property / 2內置方法的實施,增加了適用範圍/ 1屬性。
  • 在更新了Logtalk編譯器添加關於源文件名,源文件目錄和源文件編譯器選項生成的Prolog文件的信息。在以前的版本中,這些信息加載源文件時,註冊而已。這些變化簡化構建應用Logtalk庫是預編譯和預加載。
  • 在更新了Logtalk編譯器打印在源文件編譯使用掛鉤對象的名字的時候,&QUOT;鉤&QUOT;編譯器標誌的定義。
  • 在更新了內置的調試器,以避免後端Prolog語言的編譯器,其收回/ 1執行未採取合理的更新語義的優勢,使通話確定性產生不必要的選擇點。
  • 修正了Logtalk編譯器運行時處理它拋出的實體存在異常時,未能編譯內部實體標識符的錯誤。
  • 在更新了精益Prolog的配置文件,添加索引/ 1的指令使用的一些內部Logtalk運行表,動態謂詞。
  • 在更新了SWI-Prolog的集成文件來測試的指標/ 1指令,這是通過為剛剛在時間的多參數索引的新的實驗SWI-Prolog的支持,不贊成的可用性。
  • 添加謂詞序列/ 4(用於生成列表的子序列與給定的長度),替換/ 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;庫對象謂詞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指令的語義,並允許更容易遷移,從普通的Prolog應用Logtalk。
  • 在增加了對使用謂詞模板作為參數傳遞給coinductive / 1指令實驗支持。此模板允許其說明書的參數是有意義的coinductive成功。根據發現的費利克斯Kluzniak的DRA元解釋了類似的功能。
  • 在用於調試coinductive謂詞使用內置調試器的Logtalk時改進的支持。

  • 對於CxProlog
  • 刪除coinduction支持。該編譯器的最新版本缺少軟切內置謂語或控制結構,這是目前所要求的實驗coinduction實施。
  • 在解禁即防止包裝謂詞的用戶定義的bagof / 3和SETOF / 3內置每當目標參數可以使用^ / 2存在量詞方法。
  • 的長期限制
  • 在增加了對&QUOT支持; ^&QUOT;元謂詞元參數模式說明由Jan Wielemaker建議和SWI-Prolog的25年5月11日發現的。定義包裝每當目標參數可以使用^ / 2存在量詞的bagof / 3和SETOF / 3內置的方法時,這種模式說明是非常有用的。
  • 添加&QUOT; prolog_compiler&QUOT;和&QUOT; prolog_loader&QUOT;編譯器標誌,這讓路過選項後端的Prolog編譯器內置的謂詞編譯到磁盤和加載(編譯)Prolog的標誌。兩個標誌的默認值是空列表。
  • 在編譯調用內置的元謂詞,其中Logtalk編譯器可以嘗試處理非形而上學的論據,目標Prolog的專有當更正的錯誤。此錯誤僅表現出來的一些後端Prolog的編譯器,比如Eclipse。
  • 在條件編譯指令的處理更正的錯誤。
  • 修正了一個錯誤,防止在調用create_object / 4傳遞別名/ 3的指令,create_category / 4,和create_protocol / 3內置的謂詞。
  • 從刪除的內置對象&QUOT; logtalk&QUOT;在decompile_predicate_head / 4和decompile_predicate_indicator / 4廢棄的方法。
  • 在為長期廢棄Logtalk metapredicate / 1指令已刪除的支持。
  • 修正了業績的bug緩存調用類謂詞所在的緩存條目可與參數化類型工作時會比需要的更具體的時候。
  • 在改進的&QUOT緩存;超&QUOT;從原型中調用。以前,所有緩存條目將專門由&QUOT值;自&QUOT;為了妥善處理特殊情況下的對象既實例化和專業的其他對象。
  • 在更新了Logtalk編譯器包含指令的實體的編譯過程中激活謂詞範圍的指示找到任何運營商的聲明。
  • 改進coinductive謂詞使用後端Prolog的編譯器,如SICStus序言不提供軟切斷控制構建體,但提供的軟切換時的性能內置元謂詞(如果/ 3)。
  • 修正了一個錯誤,當源文件編譯哪裡可以印刷的編譯/加載警告虛假報告/加載了編譯器標誌和QUOT;報告&QUOT;關閉。
  • 新增了&QUOT; streamvars&QUOT;庫對象,從現有&QUOT而得; assignvars&QUOT;庫類別,包括用於從一個與QUOT添加和檢索條件(其可以是變量)的支持;流&QUOT;變量。
  • 在更新了&QUOT; coinduction&QUOT;例如,服用增強coinductive / 1指令的優勢,擴大了可使用SICStus的Prolog運行單個實例的數量。增加了一個模型檢驗的例子,使用coinduction,coroutining和約束,貢獻的妮達Saeedloei。
  • 在更新了&QUOT; metapredicates&QUOT;例如與示例代碼說明如何定義包裝的bagof / 3和SETOF / 3內置的方法時,元參數可能包含存在上限定的變量。
  • 在更新了&QUOT; CC&QUOT;例如,糾正謂詞定義幾個後端Prolog的編譯器和添加一些基本的單元測試。
  • 在更新了&QUOT;編碼&QUOT;例如與精益Prolog的支持有限。
  • 新增失踪項的meta_non_terminal / 1指令和電話// N的非終端的&QUOT;有利於&QUOT;例如。
  • 在增加了一個解析器PDDL 3.0文件,貢獻的羅伯特Sasak。
  • 添加代碼折疊支持的SubEthaEdit文本編輯器。添加的代碼折疊條件編譯塊的凱特時,Vim和TextMate的文本編輯器的支持。
  • 在更新了集成腳本,以裝載庫路徑加載Logtalk編譯/運行之前文件中。這種變化的目的是從設置文件簡化裝載庫和示例文件。此外,也期待在$ HOME /股Logtalk安裝目錄時LOGTALKHOME環境變量沒有定義。由於VAtor桑托斯·科斯塔的建議。
  • 在更新的Windows安裝以支持精益序言和檢測YAP 64位版本。

什麼的2.43.0版本是新的

  • 在增加了對精益Prolog的實驗性支持
  • 在由Logtalk編譯器和運行時改變錯誤報告。所有的例外條款現在使用,只要有​​可能,錯誤(錯誤,logtalk(目標,實體))
  • 格式。改變了內部錯誤檢查使用,只要實用,新的“$ 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與Prolog的原生開發工具的集成。
  • 在更新了Logtalk編譯器,以節省實體條款的位置,並提供給後端信息的Prolog編譯器。
  • 在更新了Logtalk編譯器,以避免產生不必要的內部統稱子句謂詞聲明和定義表的動態實體。
  • 在更新了Logtalk編譯器,以便使用多文件謂詞打破的對象封裝,以排除。一個主要的聲明
  • 在實體必須存在,同時含有一個範圍,一個多文件指令作謂語。此外,條款定義為​​一個多文件
  • 在實體::函子/元數沒有相應的多文件/ 1指令現在會導致編譯錯誤,而不是僅僅是一個警告。
  • 在刪除了Logtalk編譯器的限制,迫使不連續/ 1和動態/ 1的指示,先調用聲明的謂詞。
  • 在改進了拼錯調用非終端語法規則的Logtalk編譯器報告。
  • 在允許使用的:/ 1控制建設對語法規則的體
  • 在調試中使用/ 2指令指定的消息時,消息現在印刷資格隱含在由用戶編寫的源代碼。
  • 更改應用於內置多線程謂詞的執行,以便於與集成內部謂詞
  • 在高層次的調試工具,需要生成的Prolog代碼的反編譯。
  • 修正了Logtalk 2.42.4介紹了調用同步謂詞實體謂詞的編譯錯誤。此錯誤導致通話
  • 正在代替以非同步形式的謂詞,這將體現在螺紋目標隨機故障。
  • 修正了類別中的一個運行時編譯元通話將被編譯為調用對象的謂詞
  • 一個長期的bug
  • 在導入類別,而不是作為一個調用本地類謂詞。
  • 修正了設置單位標誌值在本地使用set_logtalk_flag一個長期的bug / 2指令將無法被保存到實體
  • 在編譯的代碼。
  • 修正了一個長期存在的錯誤時,取消動態謂詞在非原型對象中取消/ 1的方法是成功的,而不
  • 在謂詞被取消實際
  • 在調用元的說法,需要一個運行時編譯在
  • 的背景下,當設置正確執行上下文已修復
  • &QUOT;發送方QUOT;
  • 在修正中明確限定調用模塊元謂詞,其中模塊資格會從
  • 下跌編譯錯誤
  • 在編譯調用。需要注意的是,這些電話將使用Logtalk元謂詞的語義(即元參數將被稱為在
  • 的背景下
  • 在調用者),而不是通常的Prolog模塊元謂詞的語義。
  • 修正了該coinduction堆棧使用
  • 時未初始化的錯誤

什麼是2.42.4版本,新的

  • 在此版本包括編譯器,運行時和多線程性能優化,提高了同步/ 1和動態/ 1指令編譯器錯誤消息,增加了對保護範圍的運營商信息和輸出信息的自動生成的XML文檔文件的支持,增加了新的實用謂詞的logtalk對象,提高了幾種編程實例,包括一個解決方法在Windows上的SWI-Prolog的卸載程序錯誤,並設有便攜性更新衢序言,序言SICStus,SWI-Prolog的,XSB和YAP。

什麼是2.42.3版本,新的

  • 在該版本增加了對調用動態謂詞支持的&QUOT背景下,這&QUOT;從類別中,增加了對預編譯的條款頭,包含錯誤修正和改進,內置的調試器,包括改進的庫和示例,增加了對索引詞支持使用SICStus Prolog的CLP(FD)庫時,增加的實驗例使用對象和類歸因變量,並具有便攜性的更新對於Eclipse,GNU序言,序言SICStus和SWI-Prolog的。

什麼是2.42.2版本,新的

  • 在該版本改進了調用模塊謂詞的編譯,提高了檢查的元論據元謂詞要求,提高了lambda表達式的支持,包括一個優化的編譯器調用庫的元謂詞,記錄事件增添了新的圖書館,與時間間隔的關係的工作,並利用整數計數器,提高現有的例子和庫,增加了對使用基於JavaScript的包SyntaxHighlighter的,並具有便攜性更新GNU Prolog的,衢序言,序言SICStus,SWI-Prolog的,和XSB。

什麼是2.42.1版本,新的

  • 在這個版本增加了新的元謂詞模式支持指標,從而支持內置元謂詞更Prolog的專有。
  • 支持加入檢測和報告丟失的動態/ 1和不連續/ 1指令。
  • 在一個新的棉絨標誌增加了。
  • 在兩元謂詞編譯錯誤被糾正。
  • 在一些例子進行了更新。

  • 被用於B-序言,序言SICStus,SWI-Prolog的,XSB和YAP發
  • 在便攜性更新。

顯影劑的其他軟件 Paulo Moura

Logtalk
Logtalk

11 Mar 16

意見 Logtalk

評論沒有發現
添加評論
打開圖片!