Logtalk är ett objektorienterat logiskt programmeringsspråk som kan använda de flesta Prolog-implementeringar som back-end-kompilator. Som ett språk med flera paradigm innehåller Logtalk stöd för både prototyper och klasser, protokoll (gränssnitt), komponentbaserad programmering genom kategoribaserad komposition, händelsesdriven programmering och programmering på flera nivåer.
Vad är nytt i den här utgåvan:
* FÖRBÄTTRAT: Undvik falska misslyckade `meta_predicate / 1`-varningar när det faktiska meta-samtalet inte delar variabler med klausulhuvud.
* FÖRBÄTTRAT: Tillåt att använda lambda-uttryck i grammatikregler utan att kräva ett `call // 1`-omslag.
* FIXED: Optimeringsfel i sammanställningen av ett meta-argument när det resulterande målet är ett samtal till ett Prolog inbyggt predikat på grund av inlining av en användarprotikatdefinition.
* FIXED: Optimeringsfel i sammanställningen av ett meta-argument när det resulterande målet är ett samtal till en Prolog `: / 2`-kontrollkonstruktion.
Vad är nytt i version 3.19:
* ADDED: Stöd för att definiera ytterligare Prolog inbyggda predikat för lint
kontroller av mål som alltid är sanna eller felaktiga i adapterns filer med hjälp av
hook predicate `'$ lgt_candidate_tautology_or_falsehood_goal_hook' / 1`.
* ADDED: Objektegenskap `modul` för objekt som härrör från sammanställningen
av Prolog-moduler.
* ADDED: Convenience error kasta inbyggda metoder `syntax_error / 1` och
`System_error / 0`. Dessa metoder kasta standard `error / 2` undantagsvillkor
och motsvarar en sekvens av "context / 1" och "throw / 1" metodsamtal.
* REMOVED: Stöd för förfallna Logtalk 2.x `calls / 1`,` uses / 1` och
"alias / 3" -direktiv.
* REMOVED: Stöd för fördröjd Logtalk 2.x `: / 1` kontrollkonstruktion.
* REMOVED: Stöd för förfallna Logtalk 2.x `unknown`,` singletons`,
`tmpdir` och` version` compiler flaggor.
Vad är nytt i version 3.14:
NYHET: Stöd för _parametervariabler_ som ger ett alternativ till
"parameter / 2" och "this / 1" inbyggda metoder för att komma åt entitetsparametrar.
Parametervariabler är variabler som används i den parametriska entitetsidentifieraren
som börjar och slutar med ett understreck (`_VariableName_`). Eventuella händelser
av en parametervariabel i en enhetsklausul är implicit förenad med
enhetparametern. Detta tillåter att parametrar för enhet läggs till, omordnas eller
borttagen utan att behöva ändras i de klausuler som hänvisar till dem.
Parametervariabler stöds endast för parametriska enheter definierade i
källkodsfiler.
Vad är nytt i version 3.13:
NEW: Kompilatorstöd för att upptäcka samtal till lokala statiska predikater utan matchande klausuler ).
Vad är nytt i version 3.11.1:
* FÖRBÄTTRAD: Kompilatorns varningsmeddelanden och felmeddelanden gör dem mer enhetliga för att underlätta analysering av redaktörer och IDE och för att undvika att skriva ut potentiellt stora termer.
* FÖRBÄTTRAD: Kompilatorn kräver inte längre samtal till databasen och reflektion förutsätter där det första argumentet är en modulkvalificerad term som ska förpackas med hjälp av `{} / 1`-kompilatorns bypass-kontrollkonstruktion.
* FÖRBÄTTAT: Kompilator felkontroll för databas och reflektion predikat samtal där det första argumentet är en modulkvalificerad term.
* FÖRBÄTTRAT: Minimera antalet filåterladdningar som utlöses av samtal till `logtalk_make / 0-1` predicates.
* FIXED: Fall där "logtalk_make / 0-1" predicates skulle misslyckas att ladda om en fil vars samling genererade ett kompilatorfel.
Vad är nytt i version 3.11:
* ÄNDRA: Det inbyggda predikatet `current_event / 5` för att alltid ge det första argumentet när det kallas med det obundet.
* ADDED: Stöd för att överstyra standardskraplistan genom att definiera
biblioteket alias `scratch_directory` i en backlog-Prolog-initialiseringsfil
(antas laddas före Logtalk-laddning). Efter en diskussion med
Douglas R. Miles om att installera Logtalk i en skrivskyddad katalog
och kör flera Logtalk-instanser samtidigt utan konflikt.
* ADDED: En `context / 1` inbyggd kontextutföringsmetod för att ge åtkomst
till ett exekveringssamtal för predikatuppringning. Huvudsakligen används för att ge en standard
fel kontext när typkontrollpredikat argument.
* ADDED: Stöd för att skriva ut meddelanden av typen "debug" och "debug (_)`. Dessa
Meddelanden skrivs ut som standard, när "debug" -flaggan är påslagen.
* ADDED: Property `innehåller (File)` till `logtalk :: loaded_file_property / 2`
predikat för att tillåta uppräkning, genom backtracking, av alla filer som ingår i
Vad är nytt i version 3.10.7:
* RENAMED: 'Logtalk_make / 1` riktar' misslyckas 'till `check`.
* ADDED: Stöd för att utvidga `logtalk_make / 1`-mål med användardefinierad
handlingar som använder det nya multifile predikatet `logtalk_make_target_action / 1`.
* ADDED: Compiler lint kontroller för tautologi och falskhetsenhet mål.
För närvarande kontrolleras samtal till Prolog-förening, jämförelse och typ
testa inbyggda predicates. Föreslagen av Barry Evans.
Vad är nytt i version 3.10.5:
* FIXED: Regression introducerad i release 3.10.2 när meta-calling execution kontext inbyggda metoder.
* FIXED: Kompilatorfel som härrör från tillämpning av portabilitetskontroller till samtal till Prolog inbyggda predikat och funktioner som finns i hjälpklausuler (vanligtvis genererade av terminsökande mekanismen).
Vad är nytt i version 3.10.3:
* Förbättrad: Förenklad kod genererad för multifile predikat.
* FIXED: Regression i tidigare utgåva vid sammanställning av multifil
predikatklausuler som samtalar till :: :: / 1-2` kontrollkonstruktioner.
Vad är nytt i version 3.09.1:
* ADDED: Stöd för `number_of_rules / 1` och` number_of_user_rules / 1` objekt
och kategoriegenskaper.
* ADDED: Stöd för `number_of_rules / 1` predikategenskap.
* ADDED: Detektion av `meta_predicate / 1`-direktiv som felaktigt anger ett mål
meta-argument som faktiskt är en nedläggning passerad till `call / 2-N` meta-predikat
samtal. Tack till Arun Majumdar för rapporten.
* ADDED: Detektering av saknade direktiv om förebyggande tillämpning i närvaro av
när det inte hittades i startkatalogen eller i Logtalk användarkatalog.
Att ställa in `settings_file`-flaggan till` begränsa` begränsar nu sökning efter
en inställningsfil till Logtalk användarkatalog och användarens hemkatalog.
Dessa ändringar är användbara när ett lag delar en Logtalk-installation med båda
"LOGTALKHOME" och "LOGTALKUSER" miljövariabler som pekar på
samma katalog. Tack till Barry Evans för förslaget.
Vad är nytt i version 3.08.0:
* ÄNDRAT: Se till att i kompilatorfel och varningsmeddelanden Fil- och linjainformation är alltid den sista raden för det rapporterade problemet.
Vad är nytt i version 3.07.0:
* ADDED: En "unicode" skrivskyddad flagga för att beskriva Prolog-kompilatorns backend
stöd för Unicode-standarden.
* ADDED: Stöd för `++` (ground) och `--` (obundet) argument instansiering
lägen (förklaras som prefixoperatörer) för användning med `mode / 2`-predikatet
direktiv.
* ADDED: Stöd för `one_or_error` determinismspecifikation i` mode / 2`
predikatdirektiv. Användbar för att dokumentera typkontrollpredikat.
* FÖRBÄTTRA: Upptäck försök att ringa existerande kvantifierade mål utanför
räckvidd för `bagof / 3` och` setof / 3`-samtal.
* FIXED: Vid sammanställning av `använder / 2`-direktiv, skapa inte en länkklausul för
körtid användning för inbyggda predikat i `användare` när inget alias definieras.
* FIXED: Vid utbredning av ett kompileringsfel för en fil till dess moderfiler,
se till att filförfäderna laddas om från början med förfader
av tillverkningsmekanismen.
* FIXED: Undvik överflödig filladdning när du ringer `logtalk_make / 0` eller
`logtalk_make / 1` med målet` allt`.
* FIXED: Detektion av saknade predicates i `^^ / 1` samtal när du ringer
`logtalk_make / 1` med målet` missing`.
* FIXED: Fel i reflektions API där vissa predikatkorsning
informationen registrerades inte. Tack till Edward Schwartz för felrapporten.
Vad är nytt i version 3.06.2:
Den här utgåvan fortsätter arbetet med att förbättra utvecklarverktygen under sponsringen av Kyndi, Inc. Den innehåller en ny version av wrappverktyget för portning av vanliga Prolog-applikationer och förbättringar och korrigeringar för lgtunit och diagramverktyg. Det innehåller också nya enhetstester, kompilator- och dokumentationsfixar och en kompatibilitetsuppdatering för Lean Prolog.
Vad är nytt i version 3.04.1:
* FIXED: Compiler bug där ett predikat som är termins-expanderat genom att kalla "compile_aux_clauses / 1" -metoden kan felaktigt rapporteras.
* FIXED: Samtal till `threaded_notify / 1` inbyggda predikat från" användarens "pseudobjekt måste inte kräva ett bunden argument enligt dokumentation.
* FIXED: Anrop till `object_property / 2` och category_property / 2` inbyggda predikat med` number_of_clauses / 1` eller `number_of_user_clauses / 1` egenskapsargument för att vara deterministiska.
Vad är nytt i version 3.03.0:
* ADDED: Stöd för ett nytt `logtalk_make / 1`-mål, 'missing`, för att lista saknade enheter och predicates. Finns även med `{?}` Genväg.
* ADDED: Stöd för ett nytt `logtalk_make / 1`-mål,` cirkulär`, för att lista cirkulära referenser (med tanke på meddelandesändningsmål) mellan par och trios av objekt. Finns även med `{@}` genväg.
* FÖRBÄTTRAD: Lägg till en kataloghash till de mellanliggande Prolog-filnamnen för att undvika filnamnskollisioner när du samlar alla mellanfiler i samma katalog för inbäddning. För närvarande krävs ECLiPSe, GNU
Prolog, JIProlog, Quintus Prolog, SICStus Prolog, SWI-Prolog, XSB eller YAP som backend-kompilator.
* FIXED: Meta-predicate call optimization bug när ett meta-argument är antingen en förutbestämd stängning eller en stängning för ett mål som kallas inom ramen för
`användarens` pseudo-objekt. Applicera också mer strikt felkontroll till stängning meta-argument.
* FIXED: Nätt utskrift av parametriska objekt och parametriska kategoridentifierare i fel och varningsmeddelanden.
Vad är nytt i version 3.02.2:
* FIXED: Felkontroll av fel i lambda-uttryck med "true / 0" som lambda
mål. Tack till Boris Vassilev för felrapporten.
* FIXED: 'logtalk_make / 1`-predikatet skulle lyckas (efter utskrift av en varning
meddelande) när det heter med ett icke-instansierat eller ett ogiltigt argument istället för
brist. till
genererade intermediära Prolog-filer med ett multifile predikat för en bättre
inbäddning erfarenhet. Det gör det lättare att göra inkrementell inbäddning.
* FÖRBÄTTRAD: Maken predicates nu också ladda omföräldrarnas filer med filer med
kompilering eller laddning av fel. Detta säkerställer att när en felaktig fil avbryts
sammanställning av alla filer i en laddningsfil, de filer som listas efter felet
filen kommer att sammanställas när den felaktiga filen är fixad och de föreslagna prognoserna är
kallas.
Vad är nytt i version 3.02.1:
* FÖRBÄTTRAD: Körtidstabellposter för laddade filer läggs nu till de genererade mellanprologfilerna med hjälp av ett multifile-predikat för en bättre inbäddningsupplevelse. Det gör det lättare att göra inkrementell inbäddning.
* FÖRBÄTTRAT: Maskinen predicates nu också ladda om föräldrarnas filer av filer med kompilering eller lastning av fel. Detta säkerställer att när en felaktig fil avbryter sammanställningen av alla filer i en laddningsfil, kommer de filer som listas efter den felaktiga filen att kompileras när den felaktiga filen är fixad och de prefabricerade filerna heter.
Vad är nytt i version 3.01.2:
Den här versionen fullbordar den statiska bindningsimplementeringen. lägger till stöd för att använda filnamn som-är med kompilering och laddning predikat; fixar kompilatorbuggar; har dokumentationsuppdateringar; förbättrar felsökning, testning och dokumentation av verktyg; lägger till en ny uppsättning enhetstester för att kontrollera Prolog-överensstämmelse med officiella och de facto-standarder uppdaterar syntaxfärgning för alla stödda textredigerare och syntax-highlighters; och innehåller kompatibilitetsuppdateringar för ECLiPSe, JIProlog och YAP.
Krav :
Kompatibel Prolog-kompilator.
Kommentarer hittades inte