Prolog je univerzální logické programovací jazyk, který byl propuštěn v roce 1972, s velmi málo aktualizací doby.
Logtalk byl vytvořen s cílem přidat další moderní prvky do Prologu, hlavně zlepšení výkonu, lambda výrazy, gramatická pravidla, zlepšené chyby kompilátoru a varování hlášení.
Na vrcholu z nich, přidejte jednodušší proces instalace a aktualizace kompatibility Prolog kompilátor.
Díky tomu Logtalk lepší, vhodnější alternativu k Prologu za moderní den AI a počítačové lingvistiky scénáře, mnohem silnější multi-paradigmatu jazyk, vhodný pro event-driven a na vysoké úrovni multi-threading programování.
V současné době Logtalk syntax rozšiřuje standardní syntaxi Prolog a můžete spustit Logtalk v následujících Prolog kompilátory:
B-Prolog
CxProlog
Eclipse
GNU Prolog
Lean Prolog
Qu-Prolog
SICStus Prolog
SWI Prolog
XSB
YAP
Co je nového v této verzi:
- Zlepšení:
- Změny na termín značek používaných při psaní zkompilovanou pomoci minimalizovat velikost generovaných přechodných souborů Prolog, které používají tyto značky rozhodnout, kdy ozdobit sestavené podmínky s umístěním zdrojem dat (v současné době pouze SWI-Prolog využívá lokalizační údaje).
- OPRAVA:
- Soubor může mít více než jeden nadřazený soubor.
Co je nového ve verzi 3.02.2:
- Zlepšení:
- Změny na termín značek používaných při psaní zkompilovanou pomoci minimalizovat velikost generovaných přechodných souborů Prolog, které používají tyto značky rozhodnout, kdy ozdobit sestavené podmínky s umístěním zdrojem dat (v současné době pouze SWI-Prolog využívá lokalizační údaje).
- OPRAVA:
- Soubor může mít více než jeden nadřazený soubor.
Co je nového ve verzi 3.02.1:
- Zlepšení:
- Změny na termín značek používaných při psaní zkompilovanou pomoci minimalizovat velikost generovaných přechodných souborů Prolog, které používají tyto značky rozhodnout, kdy ozdobit sestavené podmínky s umístěním zdrojem dat (v současné době pouze SWI-Prolog využívá lokalizační údaje).
- OPRAVA:
- Soubor může mít více než jeden nadřazený soubor.
Co je nového ve verzi 3.00.4:
- Zlepšení:
- Změny na termín značek používaných při psaní zkompilovanou pomoci minimalizovat velikost generovaných přechodných souborů Prolog, které používají tyto značky rozhodnout, kdy ozdobit sestavené podmínky s umístěním zdrojem dat (v současné době pouze SWI-Prolog využívá lokalizační údaje).
- OPRAVA:
- Soubor může mít více než jeden nadřazený soubor.
Co je nového ve verzi 3.00.2:
- Zlepšení:
- Změny na termín značek používaných při psaní zkompilovanou pomoci minimalizovat velikost generovaných přechodných souborů Prolog, které používají tyto značky rozhodnout, kdy ozdobit sestavené podmínky s umístěním zdrojem dat (v současné době pouze SWI-Prolog využívá lokalizační údaje).
- OPRAVA:
- Soubor může mít více než jeden nadřazený soubor.
Co je nového ve verzi 3.00.1:
- Zlepšení:
- Změny na termín značek používaných při psaní zkompilovanou pomoci minimalizovat velikost generovaných přechodných souborů Prolog, které používají tyto značky rozhodnout, kdy ozdobit sestavené podmínky s umístěním zdrojem dat (v současné době pouze SWI-Prolog využívá lokalizační údaje).
- OPRAVA:
- Soubor může mít více než jeden nadřazený soubor.
Co je nového ve verzi 2.44.1:
- Opravena chyba v sestavování meta_non_terminal / 1 směrnice kde pouze první meta-argumentem by být správně zpracována.
- Aktualizované konfigurační soubor Eclipse rozpoznat, kdy běží na Windows 64 bitů systémů a ignorovat non-přísudek a non-operátor vývoz při předzpracování lib / 1 směrnic.
- Aktualizováno jednotka testovací framework-li tisknout více informativní zprávy pro neúspěšné unit testy.
- Přidal predikát Split / 4 (pro rozdělení seznamu do sublists s danou délkou) na & quot; listp & quot ;, & quot; & quot ;, seznamu a & quot; difflist & quot; entity knihovna.
- Aktualizované & quot; cc & quot; Příkladem s definicí pro Shell / 2 predikátu pro CxProlog.
- Změnil názvy objektů v & quot; krmi & quot; Příkladem aby nedošlo ke konfliktu názvů při spuštění příkladu jednotkové testy.
- Opravena chyba ve Windows instalátoru, který bránil detekci YAP 64 bitů verze. Díky Stepan Ipatov jako chybové hlášení.
Co je nového ve verzi 2.44.0:
- Tato verze změní sémantiku doplnění kategorií, umožňující jeho použití na opravu stávající objektový kód, opravuje dvě chyby při zpracování meta-hovorů, umožňuje otevřené seznamy terminálů v těle pravidel DCG, přidá dvě nové příklady a zlepšuje podporu pro Vim textovém editoru a bujný ctags.
Co je nového ve verzi 2.43.3:
- Opravena chyba v Logtalk kompilátoru runtime psovoda kde to nedokázalo překládat interní identifikátory entity při hodu entita existenční výjimky.
- Aktualizováno Lean Prolog konfigurační soubor, přidání INDEX / 1 směrnic pro některé z dynamických predikáty používaných v interním tabulkami Logtalk runtime.
- Aktualizováno integrační soubory SWI-Prolog k testování dostupnosti směrnice index / 1, která se již nepoužívá nový experimentální podporu SWI-Prolog pro just-in-time multi-argumentu indexování.
- Přidáno vypovídá subsekvencí / 4 (pro generování subsekvence ze seznamu s danou délkou), nahradit / 4 (pro nahrazení prvků v seznamu), a hamming_distance / 3 do knihovny & quot; listp & quot; a & quot; seznam & quot; entity.
- Přidal euclidean_norm / 2, chebyshev_norm / 2, manhattan_norm / 2, euclidean_distance / 3, chebyshev_distance / 3, manhattan_distance / 3 a scalar_product / 3 predikáty do knihovny & quot; numberlistp & quot; a & quot; numberlist & quot; entity.
- napraveny některé hloupé chyby v definici & quot; znak & quot; Knihovna objektů vypovídá is_bin_digit / 1, is_octal_digit / 1, is_dec_digit / 1, a is_hex_digit / 1.
- Aktualizováno knihovnu & quot; all_loader.lgt & quot; Soubor nakladač také načíst & quot; meta_compiler_loader.lgt & quot; Soubor nakladač.
Co je nového ve verzi 2.43.2:
- Optimalizované zpracování prohlášení operátora při kompilaci zdrojové soubory a dynamicky vytvářet nové subjekty.
- aktualizována Logtalk kompilátor používat & quot; moduly & quot; kompilátor příznak při testování pro podporu modulu Prolog, čímž se vyhnout problémům kompilace s back-end Prolog kompilátory, které nepodporují modulový systém, ale stále define (:). / 2 jako vestavěný v řídicím konstruktu nebo predikátu
- odebrána podpora pro & quot; startup_message & quot; kompilátor příznak & quot; příznaky (kompaktní) & quot; a & quot; příznaky (verbose) & quot; Hodnoty, nahrazeny jedinou hodnotou, & quot; flags & quot ;, která odpovídá stará & quot; příznaky (kompaktní), & quot; hodnota.
- Opravena chyba při použití op / 3 směrnic s create_protocol / 3, create_object / 4, a create_category / 4 vestavěné predikáty, kde prohlášení místního operátora by byly viditelné mimo nových subjektů.
- Opravená chyba, kdy vytváří novou dynamickou entitu za běhu by definovat již nepoužívají účetnictví dynamický predikát, který by neměl být zrušen, když je zrušen subjektem.
- Opravený kompilátor bug, kdy & quot; výborný & quot; volat z uvnitř objektu, který instance se pouze sám a nemá se specializují nějaký objekt bude hodit výjimku namísto selhávají.
- Aktualizováno & quot; benchmarky & quot; Příklad za účelem ochrany proti aritmetickými výjimky při výpočtu celkového počtu hovorů za sekundu pro každý test. Snížený počet srovnávacích testů opakování při spuštění jednotkové testy, aby se zabránilo dlouhé výpočetní časy se pomalu back-end Prolog kompilátory.
Co je nového ve verzi 2.43.1:
- Změnil překladač vzít v úvahu využití / 2 směrnice při sestavování volání do databáze vestavěných metod. Tato změna rozšiřuje sémantiku používá příkaz / 2 a usnadňuje přechod z obyčejných aplikací Prolog k Logtalk.
- Přidána experimentální podpora pro použití predikátu šablonu jako argument coinductive směrnice / 1. Tato šablona umožňuje specifikovat, jehož argumenty jsou smysluplné pro coinductive úspěchu. Na podobnou funkci nalézt na na Feliks Kluzniak je DRA meta-interpret založený.
- Vylepšená podpora pro ladění coinductive predikáty při použití Logtalk vestavěný debugger.
- Odstraněna podpora pro coinduction CxProlog. Aktuální verze tohoto překladače postrádá soft-cut vestavěný predikátu nebo kontrolního konstrukt, který je nyní nutné k provedení experimentální coinduction.
- zvedla dlouhotrvající omezení, která bránila definici uživatelského obalu, predikáty pro bagof / 3 a SETOF / 3 vestavěné metodami, kdykoli může cíl argumentace používají existenční kvantifikátor ^ / 2.
- Byla přidána podpora pro & quot; ^ & quot; meta-meta-predikát argumentem režim specifier navrhl Jan Wielemaker a našel na SWI-Prolog 5.11.25. Tento režim specifikátor je užitečná při definování obálky pro I / 3 a SETOF / 3 vestavěných metod bagof kdykoliv může cíl argumentace používají existenční kvantifikátor ^ / 2.
- z přidané & quot; prolog_compiler & quot; a & quot; prolog_loader & quot; kompilátor vlajky, což umožnilo předávat možnosti back-end Prolog kompilátoru vestavěné predikáty, které kompilaci na disk a vložte (kompilovaný) Prolog vlajku. Výchozí hodnota pro obě vlajky je prázdný seznam.
- Opravena chyba při sestavování volání Prolog vlastní vestavěnou-in meta-predikáty, kde Logtalk kompilátor by se mohl pokusit zpracovat non meta-argumenty jako cíle. Tato chyba se projevil pouze u některých back-end Prolog kompilátory, jako je Slunce.
- Opravena chyba při zpracování směrnic podmíněné kompilace.
- Opravena chyba, která brání průchodu alias / 3 směrnice o volání do create_object / 4, create_category / 4, a create_protocol / 3 vestavěné predikáty.
- Odebráno z vestavěného objektu & quot; Logtalk & quot; že decompile_predicate_head / 4 a decompile_predicate_indicator / 4 zastaralé metody.
- odebrána podpora pro dlouhé zastaralé metapredicate směrnice Logtalk / 1.
- Opravená výkonnostní chyba při ukládání do mezipaměti volání do kategorie predikáty, kde mezipaměti záznamy mohly být konkrétnější, než je nutné při práci s parametrickými kategorií.
- Lepší kešování & quot; výborný & quot; volání zevnitř prototypů. Dříve byly veškeré záznamy mezipaměti by být specializovaný hodnotou & quot; s vlastním & quot; aby se správně vypořádat s zvláštních případech, kdy je objekt oba instanci a specializuje se na jiné objekty.
- aktualizována Logtalk kompilátor k aktivaci žádné prohlášení operátora nalezené na směrnicích přívlastkových působnosti při sestavování subjektů, které obsahují pokyny.
- Lepší výkon coinductive predikáty při použití back-end Prolog kompilátory, jako SICStus Prolog, které neposkytují ovládací konstrukt soft-cut ale poskytují soft-cut vestavěný meta-predikátu (je-li / 3).
- Opravená chyba, kdy může být vytištěn podvržený zpráva varování kompilace / naložení, kdy byl zdrojový soubor sestavil / naložené s kompilátorem vlajky & quot; sestavy & quot; vypnut.
- přidal & quot; streamvars & quot; Knihovna objektů, odvozený od stávajícího & quot; assignvars & quot; kategorie knihovna, představovat podporu pro přidávání a vyhledávání výrazů (který může být proměnné) z & quot; potoka & quot; variabilní.
- Aktualizováno & quot; coinduction & quot; Příkladem, s využitím posílené coinductive směrnice / 1 a rozšíření počtu jednotlivých příkladů, které lze spustit pomocí SICStus Prolog. Přidán model checking Například pomocí coinduction, coroutining a omezení.
- Aktualizováno & quot; metapredicates & quot; Příkladem s ukázkový kód ilustruje, jak definovat obálky pro I / 3 a SETOF / 3 vestavěných metod bagof když meta-argumentem může obsahovat existenciálně kvalifikované proměnné.
- Aktualizované & quot; cc & quot; Příkladem, oprava přívlastková definice pro několik back-end Prolog kompilátory a přidáním některé základní jednotkové testy.
- Aktualizováno & quot; kódování & quot; Příkladem s omezenou podporou pro Lean Prolog.
- Přidána chybějící položky pro meta_non_terminal směrnice / 1 a na výzvu // N non-terminál na & quot; pomůže & quot; příkladem.
- Přidána parser pro PDDL 3,0 souborů, přispěl Robert Sasak.
- Přidaný kód skládací podporu textového editoru SubEthaEdit. Přidána kód skládací podporu pro podmíněné kompilace bloků k textových editorů Kate, vim, a TextMate.
- Aktualizováno integračních skripty, aby se načíst soubor knihovní cesty před načtením Logtalk kompilátoru / runtime. Tato změna má za cíl zjednodušit nakládání knihovny a například soubory ze souborů s nastavením. Kromě toho se také podívat na instalačním Logtalk adresáři $ HOME / akcii, když je proměnná prostředí LOGTALKHOME není definována.
- Aktualizovaný instalační program systému Windows s cílem podpořit Lean Prolog a odhalování Yap 64 bitů verze.
Co je nového ve verzi 2.43.0:.
- Přidána experimentální podpora pro štíhlou Prolog
- Odstraněna omezení Logtalk překladač, který přinutil nesouvislý / 1 a Dynamický / 1 směrnic předcházet volání deklarovaných predikáty.
- Lepší zpráva Logtalk kompilátor misspelt volání na non-terminálů v gramatických pravidel.
- Povolit užívání:. Ovládání / 1 postavit na těle gramatických pravidel
- Při ladění zprávy uvedené v použitích / 2 směrnic, zpráva se nyní tiskne implicitně kvalifikován jako ve zdrojovém kódu napsaného uživatelem.
- změnila vnitřní predikáty používané při provádění vestavěné multi-threading predikáty s cílem usnadnit integraci s ladicí nástroje na vysoké úrovni, které vyžadují decompilation generovaného kódu Prolog.
- Opravena chyba v knihovně podporu pro jednotkové testy, & quot;. Lgtunit & quot ;, kde testování výjimky by přijmout žádnou výjimku termín je ve shodě s jednotkou specifikací testů
- Aktualizované & quot; cc & quot; Příkladem s opravami chyb a vylepšení pro Eclipse přispěl Joachim Schimpf, s bug fix pro realizaci SWI-Prolog v expand_path / 2 predikátu (vyplývající z nedávných změn v SWI-Prolog absolute_file_name / 3 vestavěné predikátu), as definice pro command_line_arguments / 1 predikátu pro B-Prolog.
- Aktualizováno & quot; coinduction & quot; Například přidání nějaké další jednotlivé příklady.
- Aktualizované & quot; xml_parser & quot; příspěvek aby k řešení problémů s přenositelností GNU Prolog.
- Správné chyba v některých skriptech, kdy & quot; # / bin / bash & quot; byl použit namísto & quot; #! / bin / bash & quot ;. Díky tomu Yiorgos Adamopoulos jako chybové hlášení.
- Aktualizované Inno Setup GUI Windows instalační skript, aby bylo možné úplné instalace uživatelé non-admin.
- Přidána syntaxe zbarvení podpora pro směrnice ISO Prolog include / 1 na všech podporovaných textových editorů a syntaxe zvýrazňovačů.
- opraveny některé chyby na kartě spouští pro úryvků Gedit Logtalk, které zabránily jejich použití.
- přešel zpět k používání XEP místo FOP při generování verze PDF uživatele a referenčních příruček jako FOP zkrátí obsah některé ze stran.
Co je nového ve verzi 2.42.4:
- Přidána entity_prefix / 2 přísudek a dvě sady užitné predikáty, decompile_predicate_heads / 2-4 a decompile_predicate_indicators / 2-4, na & quot; Logtalk & quot; vestavěný objektu. Označil decompile_predicate_head / 4 a decompile_predicate_indicator / 4 jako zastaralá.
- Byla přidána podpora pro uchování informací pole působnosti pro operátory deklarována pomocí direktivy dosah těchto při kompilaci. Přidána informace o subjektu prohlášen za subjektů k XML dokumentuje soubory. Aktualizovaný textu, PDF a (X) HTML konverzní skripty pro vytištění informací pro obsluhu.
- žádáno o více low-level optimalizace na Logtalk kompilátoru / běhu.
- přesunul vnitřní predikáty, které postavit a vyvolat kontextovou spuštění predikát z kompilátor na konfigurační soubory Prolog s cílem podpořit jemné ladění výkonu, který je Prolog kompilátor závislý.
- Aktualizováno provádění závitem / 1 multi-threading vestavěným predikátu za účelem využití malého optimalizaci výkonu na základě term_variables / 2 vestavěné přívlastkových navržených Timon Van Overveldt. Tato optimalizace má za cíl snížit zbytečné kopírování a sjednocení podmínek. Kromě toho nahradit používání setup_call_cleanup / 3 vestavěné predikátu s úlovkem / 3 vestavěné predikátu tím, že zjednoduší manipulaci s oběma master a slave závity, což také zvyšuje výkon.
- Opravena chyba v implementaci závitem / 1 multi-threading vestavěným predikátu, kde selhání uživateli zadat nezávislých cílů při pokusu o použití nezávislé a-paralelismus by mělo za následek zombie nití.
- Více informativní výjimečné podmínky při pokusu prohlásit synchronizované predikát jako dynamický nebo dynamický predikát jako synchronizovány.
- Aktualizované konfigurační soubor XSB s cílem podpořit sestavování modulů objektů. Doplněna definice chybějící setup_call_catcher_cleanup / 4 vestavěným predikátu. XSB 3.3 (nebo novější verzi) je nyní nutné kvůli kompatibilitě s Logtalk.
- Aktualizované konfigurační soubor SWI-Prolog s cílem poskytnout omezenou podporu pro arithmetic_function / 1 proprietární směrnice (aritmetické funkce jsou kompilace jako globální namísto jako místní objekty nebo kategorií je definujících).
- Aktualizované konfigurační soubor Yap, aby ignorovat direktivy style_check / 1 a výklad směrnice o yap_flag / 2 jako směrnice o set_prolog_flag / 2.
- Změnil výchozí XSL-FO procesor (slouží ke generování verze PDF uživatele a příručkách) z XEP do FOP.
- Aktualizované & quot; xml_parser & quot; příspěvek aby k řešení problémů s přenositelností Qu-Prolog, SICStus Prolog a XSB.
- Aktualizováno & quot; kódování & quot; Příkladem, aby se zajistilo, že tam je před směrnicí o kódování / 1 žádný mezery.
- Aktualizováno & quot; attvars & quot; Příkladem za účelem podpory B-Prolog a XSB. Také přidána podpora pro použití přisuzované proměnných v rámci Logtalk parametrické objekty a parametrických kategorií. Díky Janu Wielemaker, vator Santos Costa, a Bart Demoen pro zpětnou vazbu a implementaci návrhy.
- Aktualizováno & quot; profilery & quot; Příkladem s předběžným podporou změn provádění profilování ve verzi 4.2 SICStus Prolog.
- Aktualizované & quot; expanzi & quot; například s více ukázkový kód o tom, jak spojit term- a definice cíl roztažností z různých háčků objektů.
- Aktualizováno & quot; coinduction & quot; Například přidání experimentální keysort / 2 coinductive predikát. Díky Janu Burse pro návrh.
- Aktualizováno & quot; Tak & quot; multi-threading příklad, kdy by chybějící řez za následek rychlé vyčerpání místní zásobníku při použití sterilní vody pro injekce proLOG vzhledem k vytvoření velkého počtu nadbytečných vybraných bodů.
- Aktualizováno & quot; mtbatch & quot; multi-threading příklad s cílem poskytnout rozšířený srovnávání & quot; Tak & quot; příkladem.
- Aktualizované portfile MacPorts a skript, který aktualizuje, aby se odstranily výpočet MD5 součtem, který se postupně upouští od MacPorts.
- Aktualizované Inno Setup GUI Windows instalační skript, aby k řešení chybu na montéry SWI-Prolog Windows, kde je postup odinstalace nepodaří odstranit klíče SWI-Prolog z registru Windows.
Co je nového ve verzi 2.42.3:
- Povolit dynamické predikáty deklarované v kategorii být volán v & quot; tuto & quot; zevnitř kategorie. V předchozích verzích, takový hovor bude mít za následek chybu v čase kompilace, nutí tyto predikáty být volán v & quot; já & quot; (Pomocí :: / 1 posílání zpráv ovládacího konstrukt).
- z přidané Logtalk kompilátor podporu pro pre-sestavují klauzule hlavami (s použitím {} / 1 ovládací konstrukt). Tato funkce je užitečné hlavně při použití termín-expanzní mechanismus.
- Byla opravena chyba v kódu, který zjednodušuje klauzule predikátu generované sestavování gramatických pravidel. Kód by smyčku, když pravidlo gramatiky obsahoval meta-proměnné, kterou Logtalk kompilátor měli (ale v současné době ne) zpráva za nelegální (výzva / 1 ovládání konstrukt by měl být použit v tomto případě).
- Zjednodušený kompilace hovorů v souvislosti s pseudo-objekt & quot; uživatel & quot;.
- Přidán ladicí příkaz & quot; p & quot; na Logtalk vestavěné debuggeru. Tento příkaz vytiskne aktuální branku pomocí tiskového / 1 predikát li k dispozici. Přejmenována na příkaz debugger & quot; q & quot; na & quot; Q & quot ;. Opravena chyba, kdy příkaz debugger & quot; w & quot; by neměla být uznána. Změnil příkaz debugger & quot; d & quot; citovat podmínky v případě potřeby.
- Přidal částečnou implementaci ISO Prolog predicate_property / 2 predikátu do konfiguračního souboru Eclipse.
- Aktualizované konfigurační soubor SWI-Prolog, aby se odstranily chybné prohlášení knihovny meta-predikáty dde_register_service / 2, časové / 1, i když / 2 as vestavěnou meta-predikáty.
- Aplikované opravu chyby na & quot; vlajek & quot; přispění k dispozici jeho autorem, Theofrastos Mantadelis. Jak potíže obejít problém s kompatibilitou s GNU Prolog.
- Přidána memberchk / 2 predikát do knihovny & quot; SEtP & quot; Protokol a & quot; nastaveno & quot; objekt. Přidané predikáty is_control / 1, is_newline / 1 a is_end_of_line / 1 pro knihovny & quot; characterp & quot; a & quot; znak & quot; entity.
- Přidána experimentální příklad použití přisuzované proměnných uvnitř objektů a kategorií Logtalk. V současné době vyžaduje použití YAP nebo SWI-Prolog jako back-end Prolog kompilátor.
- Byla přidána podpora pro indexicals na & quot; omezeními / SICStus & quot; příkladem.
- Rozšířená & quot; delegáti & quot; Příklad provedení s vzorku s delegujícího s použitím parametrické objektu.
- Rozšířená & quot; dynpred & quot; Příklad Pro ilustraci, jak definovat kategorie predikáty, které zpracovávají dynamické predikáty v souvislosti s & quot; to & quot; a v souvislosti s & quot; já & quot;.
- Přidána wall_time / 1 predikát na & quot; cc & quot; příkladem.
- Aktualizován zvýrazňování syntaxe testovací soubory, přidávání chybějící pravé / 0 a selhání / 0 kontrolní konstrukty.
Co je nového ve verzi 2.42.2:
- Aktualizované Logtalk kompilátor s cílem umožnit kontrolu vlastnosti modul predikátu bez nutnosti importu predikáty do & quot; uživatele & quot; (Poznámka, nicméně, že modul stále musí být načten před sestavování zdrojových souborů voláním predikáty Module).
- Aktualizované Logtalk kompilátor aby ověřil, zda kompilaci-time instance argumenty Zavírání na volání / 2-N cílů pro běžné chyby programování.
- Aktualizované Logtalk kompilátor s cílem generovat upozornění pro výrazů lambda s proměnnými, které nejsou deklarovány jako buď volnými proměnnými nebo parametry lambda nebo proměnné, které jsou deklarovány jako oba volné proměnných a parametrů lambda. Díky Janu Burse pro navrhovat tyto rychlé kontroly.
- Aktualizované Logtalk runtime s cílem podpořit pomocí & # x3c; & # x3c; / 2 ovládací postavit na uzavíracích meta-argumenty meta-predikáty .
- Byla přidána podpora pro kompilaci zdarma / goal lambda výraz volání (pomocí automatického generování pomocného predikát, kdykoli je to možné).
- Přidána compile_aux_clauses / 1 veřejnou metodu, na základě predikát se stejným názvem v SWI-Prolog, aby vestavěné objektu & quot; Logtalk & quot ;. Tato metoda se obvykle nazývá od goal_expansion / 2 háčky za účelem sestavení pomocné doložky vytvořené pro podporu rozšířené cíl.
- Přidána meta-predikát ignorovat / 1, implementované některými Prolog kompilátory jako vestavěným predikátu, jako vestavěné v metodě Logtalk.
- Aktualizované konfigurační soubor SWI-Prolog, aby se zabránilo automatické načítání knihoven modulů při dotazování přívlastková vlastnosti z Logtalk.
- Aktualizované Qu-Prolog, SICStus Prolog a konfiguračních souborů XSB, aby k dispozici predikát term_variables / 2 jako vestavěné predikátu ISO.
- Aktualizováno integrační skripty Qu-Prolog s cílem zdvojnásobit hodnotu velikosti haldy pro sestavování Logtalk kompilátoru / runtime, řešení spouštěcí havárie.
- obnovil MacOS X příkazový soubor pro GNU Prolog (posunula od quot; & scripts / MacOSX / command_files / nepodporovaný & quot; složky).
- Přidáno vypovídá findall_member / 4-5 objektu knihovny & quot; meta & quot; (Na základě návrhu Prolog návrhu knihovny Richarda O'Keefe je). Odstraněny deklaraci a definici predikáty vypověditelnými / 1 a ignorovat / 1 z knihovny subjektů & quot; METAP & quot; a & quot; meta & quot; (Disponibilní / 1 je vestavěný predikát ve všech podporovaných Prolog překladačů; ignorovat / 1 je nyní Logtalk vestavěný metoda) .
- Přidán objekt knihovny, & quot; meta_compiler & quot ;, která může být použita jako objekt háku rozšířit volání meta-predikáty definovaných v objektu knihovny & quot; meta & quot; aby se zabránilo režijní náklady meta-volání. Na těch případech, kdy je meta-predikát hovor nemůže být optimalizována, výchozí definice na & quot; meta & quot; Objekt se používá. Použití kontrolní konstrukty, jako meta-argumenty není (zatím) podporovány. Work in progress.
- Přidán protokol, & quot; loggingp & quot ;, a implementace kategorie a objekt, & quot; záznam & quot; a & quot;. záznamník & quot ;, deklarovat a definovat základní funkce pro protokolování událostí do souborů do knihovny
- Přidán protokol, & quot; intervalp & quot ;, a objekt, & quot; interval & quot ;, deklarování a definování základních časových intervalů vztahy do knihovny (na základě James F. Allen Interval Algebra práci) .
- Přidal kategorii provádění pojmenované celočíselné pulty, & quot;. Čítače & quot ;, do knihovny
- Přidané predikáty proper_prefix / 2 a proper_suffix / 2 do knihovny subjekty & quot; listp & quot ;, & quot; seznam & quot ;, a & quot; difflist & quot;.
- Přidal predikát transponovat / 2 do objektu knihovny & quot; párů & quot;.
- přidal dva pseudo-příklady pro účely testování, & quot; lambdas_compiled & quot; a & quot; metapredicates_compiled & quot ;, které využívají nový objekt knihovny
- & quot; meta_compiler & quot;.
- Aktualizované & quot; expanzi & quot; Příklad Pro ilustraci, jak definovat a kombinovat hák objekty.
- Byla přidána podpora pro použití balíčku SyntaxHighlighter (verze 3.0.83 nebo novější) Alex Gorbačova s Logtalk zdrojovým kódem.
- Přidána chybějící syntaxe zbarvení else / 0 Směrnice podmíněné kompilace na podporu GNU Source-highlight zvýrazňovače.
- Byla přidána poznámka o podpoře Logtalk pro úpravu textu k dispozici k volnému MacOS X Kod textového editoru.
- Přidána syntaxe zbarvení podpora pro nový ignorovat / 1 zabudovanou metodu pro všechny podporované textových editorů a syntaxe zvýrazňovačů.
Co je nového ve verzi 2.42.1:
- Byla přidána podpora pro Logtalk kompilátor pro zjišťování a nahlašování chybí dynamických směrnic / 1 přívlastková / 1 a nesouvislý.
- Přidán nový lint vlajku, & quot; missing_directives & quot ;, s výchozí hodnotou & quot; & quot ;, varování pro všechny konfigurační soubory. Tento příznak umožňuje tisk varování kompilátoru pro chybějící Dynamický / 1, nesouvislý / 1, a multifile / 1 přívlastková směrnic.
- Byla přidána podpora pro nové ukazatele režimu meta-predikát šablony: (/) pro ukazatel predikátu, [/] pro seznam predikativních ukazatelů, a [0] pro seznam cílů, .
- Opravena chyba v Logtalk kompilátor při kontrole meta-přívlastková doložek hlavy pro chyby tam, kde na & quot; :: & quot; Indikátor režimu meta-argument byl stále interpretován jako & quot; 0 quot;.
- Opravena chyba při manipulaci s uzávěry (v meta-volání), které se používají ke konstrukci výzvy ke kontrole konstrukty nebo vestavěné predikáty, které by mohly vést k volání nějaké meta-argumenty ve špatném kontextu. Díky Ulrich Neumerkel pro ilustrující například v mailing listu SWI-Prolog.
- Aktualizované Logtalk kompilátor, aby nedocházelo k upozornění na tisk o chybějící odkazy na & quot; rozšiřující & quot; a & quot; sledování & quot; Vestavěný protokolech při sestavování modulů jako objekty.
- Vrátit změny ve verzi 2.39.2, jež umožnily uspořádání pseudo-objekt & quot; uživatele & quot; virtuálně obsahovat definice všech vestavěných predikátů Prolog. To by mohlo vést k různým výsledkům v závislosti na back-end Prolog kompilátor, zvláště při volání meta-predikáty v souvislosti s & quot; uživatel & quot;.
- Opravena chyba v SWI-Prolog & quot; swihooks.lgt & quot; Soubor, který vyústil v falešné chybová zpráva o neplatnou Logtalk vlajku konzultaci k souboru Prolog, když je zdrojový soubor Logtalk se stejným názvem ve stejném adresáři.
- Přidána chybějící podpora pro proprietární vestavěný meta-predikáty B-Prolog, SICStus Prolog, SWI-Prolog, XSB a YAP konfigurační soubory.
- Aktualizované SICStus Prolog, SWI-Prolog a YAP konfiguračních souborů čímž nahradí meta-predikát šablon pro konzultovat / 1 a load_files / 2 vestavěné predikáty.
- Přidána implementaci map_reduce / 5 meta-predikátu k objektu knihovny & quot; meta & quot;.
- Přidána realizaci command_line_arguments / 1 predikát na & quot; cc & quot; příkladem.
- Aktualizováno & quot; Lambdy & quot; a & quot; metapredicates & quot; příklady, ilustrující, jak vypočítat Fibonacciho čísla pomocí fold levé meta-predikátu. Aktualizováno & quot; metapredicates & quot; Příkladem s příkladem používání v rámci map_reduce / 5 meta-predikátu.
- Aktualizováno & quot; problog & quot; Například přidání předběžnou podporu pro novou syntaxí komentovaných disjunkcí.
- Přidána & quot; kouzlo & quot; prvkem pro mime typu souboru Logtalk pro freedesktop.org sdílené mime-info databáze.
Co je nového ve verzi 2.42.0:.
- Přidána implementaci perzistentních objektů vlajky
- Přidán nový pár vestavěných predikátů, conforms_to_protocol / 2-3, kterou se provádí tranzitivní uzavření vztahu implementace protokolu.
- Přidána experimentální směrnici, anotace / 1, na podporu integrace Logtalk s jinými jazyky, jako je ProbLog a CHR.
Komentáře nebyl nalezen