Prolog ay isang pangkalahatang layunin logic programming language na ay inilabas pabalik sa 1972, na may napakakaunting mga update since.
Logtalk ay nilikha upang magdagdag ng higit pang mga modernong mga tampok upang Prolog, higit sa lahat pagpapabuti ng pagganap, lambda expression, grammar panuntunan, pinabuting tagatala error at babala sa pag-uulat.
Sa itaas ng mga ito, magdagdag ng isang mas madali pag-install proseso at Prolog update compiler compatibility.
Ginagawa Logtalk isang mas mahusay, mas angkop na alternatibo sa Prolog sa modernong araw AI at computer linguistics sitwasyon, isang mas malakas na multi-paradaym wika, angkop para sa kaganapan-driven at mataas na antas multi-threading programming.
Sa kasalukuyan Logtalk syntax umaabot karaniwang Prolog syntax at maaari mong patakbuhin Logtalk sa mga Prolog compilers:
B-Prolog
CxProlog
Eclipse
GNU Prolog
Lean Prolog
Qu-Prolog
SICStus Prolog
SWI Prolog
XSB
YAP
Ano ang bago sa ito release:
- Pinabuting:
- Ang mga pagbabago sa ang mga kataga ng mga tag na ginamit kapag sumusulat naipon code upang makatulong na mabawasan ang laki ng ang nabuong intermediate Prolog mga file na gamitin ang mga tag upang magpasya kapag upang palamutihan compiled mga tuntunin sa pinagmulan ng data ng lokasyon (sa kasalukuyan, lamang SWI-paunang salita tumatagal ng husto ang data ng lokasyon).
- Fixed:
- Ang isang file ay maaaring magkaroon ng higit sa isang parent file.
Ano ang bago sa bersyon 3.02.2:
- Pinabuting:
- Ang mga pagbabago sa ang mga kataga ng mga tag na ginamit kapag sumusulat naipon code upang makatulong na mabawasan ang laki ng ang nabuong intermediate Prolog mga file na gamitin ang mga tag upang magpasya kapag upang palamutihan compiled mga tuntunin sa pinagmulan ng data ng lokasyon (sa kasalukuyan, lamang SWI-paunang salita tumatagal ng husto ang data ng lokasyon).
- Fixed:
- Ang isang file ay maaaring magkaroon ng higit sa isang parent file.
Ano ang bago sa bersyon 3.02.1:
- Pinabuting:
- Ang mga pagbabago sa ang mga kataga ng mga tag na ginamit kapag sumusulat naipon code upang makatulong na mabawasan ang laki ng ang nabuong intermediate Prolog mga file na gamitin ang mga tag upang magpasya kapag upang palamutihan compiled mga tuntunin sa pinagmulan ng data ng lokasyon (sa kasalukuyan, lamang SWI-paunang salita tumatagal ng husto ang data ng lokasyon).
- Fixed:
- Ang isang file ay maaaring magkaroon ng higit sa isang parent file.
Ano ang bago sa bersyon 3.00.4:
- Pinabuting:
- Ang mga pagbabago sa ang mga kataga ng mga tag na ginamit kapag sumusulat naipon code upang makatulong na mabawasan ang laki ng ang nabuong intermediate Prolog mga file na gamitin ang mga tag upang magpasya kapag upang palamutihan compiled mga tuntunin sa pinagmulan ng data ng lokasyon (sa kasalukuyan, lamang SWI-paunang salita tumatagal ng husto ang data ng lokasyon).
- Fixed:
- Ang isang file ay maaaring magkaroon ng higit sa isang parent file.
Ano ang bago sa bersyon 3.00.2:
- Pinabuting:
- Ang mga pagbabago sa ang mga kataga ng mga tag na ginamit kapag sumusulat naipon code upang makatulong na mabawasan ang laki ng ang nabuong intermediate Prolog mga file na gamitin ang mga tag upang magpasya kapag upang palamutihan compiled mga tuntunin sa pinagmulan ng data ng lokasyon (sa kasalukuyan, lamang SWI-paunang salita tumatagal ng husto ang data ng lokasyon).
- Fixed:
- Ang isang file ay maaaring magkaroon ng higit sa isang parent file.
Ano ang bago sa bersyon 3.00.1:
- Pinabuting:
- Ang mga pagbabago sa ang mga kataga ng mga tag na ginamit kapag sumusulat naipon code upang makatulong na mabawasan ang laki ng ang nabuong intermediate Prolog mga file na gamitin ang mga tag upang magpasya kapag upang palamutihan compiled mga tuntunin sa pinagmulan ng data ng lokasyon (sa kasalukuyan, lamang SWI-paunang salita tumatagal ng husto ang data ng lokasyon).
- Fixed:
- Ang isang file ay maaaring magkaroon ng higit sa isang parent file.
Ano ang bago sa bersyon 2.44.1:
- Nawastong isang bug sa compilation ng meta_non_terminal / 1 directive kung saan tanging ang unang meta-argument ay tama naproseso.
- Na-update ang paglalaho config file sa tiktikan kapag tumatakbo sa Windows 64 bits sistema at upang huwag pansinin non-tambalan at di-operator Exports kapag pre-processing lib / 1 direktiba.
- Na-update ang unit test framework upang i-print mas nagbibigay-kaalaman mga mensahe para sa Nabigo ang mga pagsusulit unit.
- Idinagdag tambalan split / 4 (para sa paghahati ng isang listahan sa sublists na may naibigay na haba) sa & quot; listp & quot ;, & quot; listahan & quot ;, at & quot; difflist & quot; library na entidad.
- Na-update ang & quot; cc & quot; halimbawa na may kahulugan para sa shell / 2 tambalan para CxProlog.
- Binago ang mga pangalan ng mga bagay sa & quot; mi & quot; halimbawa upang maiwasan ang isang pangalan salungatan kapag tumatakbo ang mga pagsusulit halimbawa unit.
- Nawastong isang bug sa Windows installer na pumigil pagtuklas ng YAP 64 bits bersyon. Salamat sa Stepan Ipatov para sa ulat ng bug.
Ano ang bagong sa bersyon 2.44.0:
- Ang release na ito ay nagbabago ang semantika ng complementing mga kategorya, na nagbibigay-daan ang paggamit nito sa patch umiiral na object code, Inaayos ng dalawang mga bug sa pagproseso ng meta-tawag, ay nagbibigay-daan open listahan ng mga terminal sa katawan ng DCG patakaran, nagdadagdag ng dalawang bagong mga halimbawa, at nagpapabuti suporta para sa mga editor Vim text at para Exuberant ctags.
Ano ang bago sa bersyon 2.43.3:
- Nawastong isang bug sa Logtalk compiler runtime handler kung saan ito ay nabigo upang i-decompile panloob entity tagapagkilala kapag pagkahagis entity pagkakaroon eksepsiyon.
- Na-update ang Lean Prolog config file, pagdaragdag index / 1 direktiba para sa ilan sa ang mga dynamic na predicates na ginamit ng mga panloob na mga talahanayan Logtalk runtime.
- Na-update ang SWI-Prolog integration file sa mga pagsubok para sa kakayahang magamit ng mga index / 1 direktiba, na kung saan ay hindi na ginagamit sa pamamagitan ng mga bagong pang-eksperimentong SWI-Prolog suporta para sa mga lamang-in-time multi-argument pag-index.
- Added predicates subsequence / 4 (para sa pagbuo ng subsequences ng isang listahan na may isang naibigay na haba), kapalit / 4 (para sa pagpapalit mga sangkap sa isang listahan), at hamming_distance / 3 sa library & quot; listp & quot; at & quot; listahan & quot; entidad.
- Idinagdag euclidean_norm / 2, chebyshev_norm / 2, manhattan_norm / 2, euclidean_distance / 3, chebyshev_distance / 3, manhattan_distance / 3, at scalar_product / 3 predicates sa library & quot; numberlistp & quot; at & quot; numberlist & quot; entidad.
- Nawastong ilang mga ulok mga bug sa ang kahulugan ng mga & quot; karakter & quot; library object predicates is_bin_digit / 1, is_octal_digit / 1, is_dec_digit / 1, at is_hex_digit / 1.
- Na-update ang library & quot; all_loader.lgt & quot; loader file upang ring i-load ang & quot; meta_compiler_loader.lgt & quot; loader file.
Ano ang bago sa bersyon 2.43.2:
- Optimize pagproseso ng declarations operator kapag ipon mapagkukunan ng mga file at dynamic na lumilikha ng mga bagong entidad.
- Na-update ang Logtalk compiler upang gamitin ang & quot; modules & quot; compiler bandila kapag pagsubok para Prolog module support, kaya maiwasan ang mga isyu na may compilation back-end Prolog compilers na hindi sumusuporta sa isang module ng sistema ngunit pa rin tukuyin (:). / 2 bilang isang built-in control tayuan o panaguri
- Inalis na suporta para sa & quot; startup_message & quot; compiler bandila & quot; flags (compact) & quot; at & quot; flags (maligoy) & quot; mga halaga, papalitan sa pamamagitan ng isang solong halaga, & quot; flags & quot ;, na tumutugon sa lumang & quot; flags (compact) & quot; halaga.
- Nawastong isang bug kapag gumagamit ng op / 3 direktiba sa create_protocol / 3, create_object / 4, at create_category / 4 built-in predicates kung saan ang mga lokal na declarations operator ay makikita sa labas ng mga bagong entidad.
- Nawastong isang bug kung saan ang paglikha ng isang bagong dynamic na entity sa runtime ay tukuyin ang isang hindi na ginagamit bookkeeping dynamic tambalan na ay hindi buwag kapag ang entity ay buwag.
- Nawastong isang tagatala bug kung saan ang isang & quot; super & quot; tumawag mula sa loob ng isang bagay na lamang instantiates mismo at hindi magdalubhasa anumang bagay ay ihagis ng isang exception sa halip na hindi pagtupad.
- Na-update ang & quot; benchmarks & quot; Halimbawa upang maprotektahan laban sa arithmetic eksepsiyon kapag computing ang kabuuang bilang ng mga tawag sa bawat segundo para sa bawat test. Nabawasan ang bilang ng benchmark repetitions test kapag tumatakbo ang mga pagsusulit yunit upang maiwasan ang mga mahahabang oras computing na may mabagal na back-end Prolog compiler.
Ano ang bago sa bersyon 2.43.1:
- Binago ang compiler upang isinasaalang-alang ang mga gamit / 2 direktiba kapag ipon tawag sa database built-in na mga pamamaraan. Ang pagbabagong ito ay umaabot ang semantika ng mga gamit / 2 direktiba at nagbibigay-daan madali migration mula plain Prolog aplikasyon sa Logtalk.
- Idinagdag pang-eksperimentong suporta para sa paggamit ng isang tambalan template bilang argumento sa coinductive / 1 direktiba. Ang template na ito ay nagbibigay-daan ang mga detalye ng kung saan argumento ay makabuluhan para sa coinductive tagumpay. Batay sa mga katulad na pag-andar na natagpuan sa sa Feliks Kluzniak ni DRA meta-interpreter.
- Pinahusay na suporta para sa debugging coinductive predicates kapag ginagamit ang Logtalk built-in debugger.
- Inalis coinduction suporta para CxProlog. Ang kasalukuyang bersyon ng compiler na ito lacks isang soft-cut built-in na tambalan o kontrol tayuan, na sa ngayon ay inaatasan ng mga pang-eksperimentong coinduction pagpapatupad.
- Lifted isang matagal na nabubuhay limitasyon na pumigil sa definition gumagamit ng wrapper predicates para sa bagof / 3 at setof / 3 built-in pamamaraan kapag ang layunin argument ay maaaring gamitin ang ^ / 2 existential quantifier.
- Nagdagdag ng suporta para sa & quot; ^ & quot; meta-tambalan meta-argument mode specifier iminungkahing sa pamamagitan ng Jan Wielemaker at natagpuan sa SWI-Prolog 5.11.25. Mode na ito specifier ay kapaki-pakinabang kapag ang pagtukoy wrappers para sa bagof / 3 at setof / 3 built-in pamamaraan tuwing maaaring gamitin ang layunin argument ang ^ / 2 existential quantifier.
- Added & quot; prolog_compiler & quot; at & quot; prolog_loader & quot; compiler flags, na payagan ang pagpasa pagpipilian sa back-end Prolog compiler built-in na predicates na sumulat ng libro sa disk at i-load ang isang (pinagsama-sama) Prolog flag. Ang default na halaga para sa parehong mga flags ay ang walang laman na listahan.
- Nawastong isang bug kapag ipon tawag sa Prolog proprietary built-in na meta-predicates kung saan ang Logtalk compiler maaaring pagtatangka upang iproseso di meta-argumento bilang mga layunin. Bug na ito lamang manifested mismo sa ilang mga back-end Prolog compilers tulad ng eklipse.
- Nawastong isang bug sa pagpoproseso ng conditional compilation direktiba.
- Nawastong isang bug na pumigil pagpasa alias / 3 direktiba sa mga tawag sa create_object / 4, create_category / 4, at create_protocol / 3 built-in predicates.
- Inalis mula sa built-in object & quot; logtalk & quot; ang decompile_predicate_head / 4 at decompile_predicate_indicator / 4 deprecated pamamaraan.
- Inalis na suporta para sa mahabang deprecated Logtalk metapredicate / 1 direktiba.
- Nawastong isang pagganap bug kapag caching tawag sa predicates kategorya kung saan ang naka-cache na mga entry ay maaaring maging mas tiyak kaysa sa kinakailangan kapag nagtatrabaho sa parametric kategorya.
- Pinagbuting pag-cache ng & quot; super & quot; tawag mula sa loob mga modelo. Noong nakaraan, ang lahat ng mga naka-cache na mga entry ay nagdadalubhasang sa pamamagitan ng halaga ng & quot; sarili & quot; upang maayos na pakikitungo sa mga espesyal na mga kaso kung saan ang isang bagay sa parehong instantiates at Dalubhasa iba pang mga bagay.
- Na-update ang Logtalk compiler upang i-activate ang anumang declarations operator natagpuan sa tambalan saklaw direktiba sa panahon ng compilation ng mga entity na naglalaman ng mga direktiba.
- Pinagbuting ang pagganap ng coinductive predicates kapag gumagamit back-end Prolog compilers tulad SICStus Prolog na huwag ibigay ang soft-cut control tayuan ngunit nagbibigay ng soft-cut built-in na meta-tambalan (kung / 3).
- Nawastong isang bug kung saan ang isang bogus ulat ng compilation / loading babala ay maaaring ipi-print kapag ang isang source file ay naipon / load sa ang tagatala bandila & quot; ulat & quot; nakapatay.
- Nagdagdag ng & quot; streamvars & quot; library object, na nagmula mula sa mga umiiral na & quot; assignvars & quot; library kategorya, nagtatampok suporta para sa pagdaragdag at pagkuha ng mga salita (na maaaring maging variable) mula sa isang & quot; stream & quot; variable.
- Na-update ang & quot; coinduction & quot; Halimbawa, sinasamantala ng pinahusay coinductive / 1 direktiba at broadening ang bilang ng mga indibidwal na mga halimbawa na maaaring tumakbo gamit SICStus paunang salita. Nagdagdag ng isang modelo ng paglagay ng tsek Halimbawa, ang paggamit coinduction, coroutining, at limitasyon.
- Na-update ang & quot; metapredicates & quot; halimbawa na may sample code illustrating kung paano matukoy wrappers para sa bagof / 3 at setof / 3 built-in pamamaraan kapag ang meta-argument ay maaaring maglaman ng existentially qualified variable.
- Na-update ang & quot; cc & quot; Halimbawa, pagwawasto tambalan kahulugan para sa ilang mga back-end Prolog compilers at pagdaragdag ng ilang mga pangunahing yunit ng mga pagsusulit.
- Na-update ang & quot; encodings & quot; halimbawa na may limitadong suporta para sa Lean Prolog.
- Idinagdag nawawalang mga entry para sa meta_non_terminal / 1 direktiba at para sa mga call // N non-terminal sa & quot; matulungan & quot; halimbawa.
- Nagdagdag ng parser para PDDL 3.0 file, iniambag sa pamamagitan ng Robert Sasak.
- Added code natitiklop suporta sa text editor SubEthaEdit. Idinagdag code natitiklop suporta para sa conditional compilation bloke sa Kate, Vim, at TextMate text editor.
- Na-update ang integration script upang i-load ang mga landas library file bago loading ang Logtalk compiler / runtime. Ang pagbabagong ito ay naglalayong gawing simple-load ng library at halimbawa ng mga file mula sa mga file setting. Bilang karagdagan, din hanapin ang direktoryo Logtalk pag-install sa $ HOME / share kapag ang LOGTALKHOME kapaligiran variable ay hindi tinukoy.
- Na-update ang Windows installer upang suportahan Lean Prolog at tuklasin YAP 64 bits bersyon.
Ano ang bago sa bersyon 2.43.0:.
- Idinagdag pang-eksperimentong suporta para sa Lean Prolog
- Inalis ang Logtalk compiler paghihigpit na pinilit discontiguous / 1 at dynamic / 1 direktiba upang pangunahan tawag sa ipinahayag predicates.
- Pinagbuting ang Logtalk compiler ulat ng misspelt tawag sa non-terminal sa mga panuntunan sa grammar.
- Payagan ang paggamit ng:. / 1 control bumuo sa katawan ng mga panuntunan sa grammar
- Kapag debugging mensahe na tinukoy sa mga gamit / 2 direktiba, ang mensahe ay ngayon naka-print nang kataon lamang kwalipikadong bilang sa source code na isinulat ng user.
- Binago ang panloob na predicates ginagamit sa pagpapatupad ng ang built-in multi-threading predicates upang mapadali ang pagsasama-sama na may mataas na antas ng debugging tools na nangangailangan decompilation ng nakabuo Prolog code.
- Nawastong isang bug sa library na suporta para sa mga pagsusulit unit, & quot;. Lgtunit & quot ;, kung saan testing para sa mga eksepsiyon ay tumatanggap ng anumang exception termino bilang matularin sa mga pagtutukoy unit test
- Na-update ang & quot; cc & quot; halimbawa na may mga pag-aayos sa bug at pagpapahusay para sa eklipse iniambag sa pamamagitan ng Joachim Schimpf, na may isang bug fix para sa SWI-Prolog pagpapatupad ng expand_path / 2 panaguri (na nagreresulta mula sa kamakailang mga pagbabago sa SWI-Prolog absolute_file_name / 3 built-in tambalan), at sa isang kahulugan para sa command_line_arguments / 1 tambalan para sa B-paunang salita.
- Na-update ang & quot; coinduction & quot; Halimbawa, ang pagdaragdag ng ilang higit pang mga indibidwal na mga halimbawa.
- Na-update ang & quot; xml_parser & quot; kontribusyon upang workaround portability isyu sa GNU Prolog.
- Tamang isang bug sa ilang mga shell script kung saan & quot; # / bin / bash & quot; ay ginagamit sa halip ng & quot; #! / bin / bash & quot ;. Salamat sa Yiorgos Adamopoulos para sa ulat ng bug.
- Na-update ang Inno Setup GUI Windows installer script upang payagan ang kumpletong pag-install sa pamamagitan ng non-admin user.
- Idinagdag syntax pangkulay suporta para sa mga direktiba ISO Prolog isama / 1 hanggang lahat ng mga suportadong mga editor ng teksto at syntax highlighters.
- Nawastong ilang mga bug sa tab trigger para sa Gedit Logtalk snippets na pumigil sa kanilang gamit.
- Binago bumalik sa paggamit XEP sa halip na taong labis manamit kapag ang pagbuo ng PDF bersyon ng User at Reference manuals bilang FOP truncates ang mga nilalaman ng ilan sa mga pahina.
Ano ang bago sa bersyon 2.42.4:
- May idinagdag na entity_prefix / 2 tambalan at dalawang mga hanay ng mga utility predicates, decompile_predicate_heads / 2-4 at decompile_predicate_indicators / 2-4, sa & quot; logtalk & quot; built-in na object. Minarkahan ang decompile_predicate_head / 4 at decompile_predicate_indicator / 4 bilang deprecated.
- Nagdagdag ng suporta para sa pagpepreserba ang impormasyon na saklaw para sa mga operator ipinahayag gamit saklaw direktiba sa panahon magtala ng panahon. Idinagdag impormasyon sa entity ipinahayag operator sa XML documenting file. Na-update ang teksto, PDF, at (X) HTML script conversion upang i-print out operator impormasyon.
- Applied ilang mababang antas optimizations sa Logtalk compiler / runtime.
- Inilipat ang mga panloob na predicates na bumuo at i-access ang tambalan pagpapatupad konteksto mula sa compiler sa Prolog config file upang suportahan fine pagganap tuning na Prolog compiler umaasa.
- Na-update ang pagpapatupad ng sinulid / 1 multi-threading built-in na tambalan upang gumamit ng isang maliit na pagganap optimization batay sa term_variables / 2 built-in na tambalan na iminungkahi ng Timon Van Overveldt. optimization na ito ay naglalayong upang mabawasan ang mga hindi kinakailangang mga kopya at pag-iisa ng mga termino. Sa karagdagan, palitan ang paggamit ng mga setup_call_cleanup / 3 built-in tambalan sa catch / 3 built-in tambalan sa pamamagitan ng simplifying paghawak ng parehong master at alipin thread, kung saan din nagpapabuti sa pagganap.
- Nawastong isang bug sa pagpapatupad ng may sinulid / 1 multi-threading built-in na tambalan kung saan ang pagkabigo ng user upang tukuyin independiyenteng mga layunin kapag sinusubukang gamitin independent and-paralelismo ay magreresulta sa zombie thread.
- Higit kaalamang mga exception tuntunin kapag sumusubok na idedeklara ng isang naka-synchronize tambalan bilang dynamic o isang dynamic tambalan bilang synchronize.
- Na-update ang XSB config file upang suportahan ang compilation ng mga module bilang mga bagay. Nagdagdag ng kahulugan para sa mga nawawalang setup_call_catcher_cleanup / 4 built-in na tambalan. XSB 3.3 (o mas bagong bersyon) ay kinakailangan na ngayon para sa pagiging tugma sa Logtalk.
- Na-update ang SWI-Prolog config file upang magbigay ng limitadong suporta para sa arithmetic_function / 1 proprietary directive (aritmetika function ay sumulat ng libro bilang global sa halip na bilang mga lokal na sa mga bagay o mga kategorya pagtukoy sa mga ito).
- Na-update ang YAP config file upang huwag pansinin ang mga style_check / 1 direktiba at i-interpret ang yap_flag / 2 direktiba bilang set_prolog_flag / 2 direktiba.
- Binago ang default XSL-FO processor (ginagamit upang makabuo ng mga PDF bersyon ng User at Reference manual) mula XEP sa taong labis manamit.
- Na-update ang & quot; xml_parser & quot; kontribusyon upang workaround portability isyu sa Qu-Prolog, SICStus Prolog, at XSB.
- Na-update ang & quot; encodings & quot; halimbawa upang matiyak na ang mga walang whitespace bago ang encoding / 1 direktiba.
- Na-update ang & quot; attvars & quot; Halimbawa upang suportahan B-Prolog at XSB. Nagdagdag din ng suporta para sa paggamit ng maiugnay variable sa loob Logtalk parametric mga bagay at parametric mga kategorya. Salamat sa Jan Wielemaker, Vator Santos Costa, at Bart Demoen para sa feedback at pagpapatupad ng mga mungkahi.
- Na-update ang & quot; profilers & quot; halimbawa na may paunang suporta para sa mga pagbabago sa pagpapatupad profiling sa SICStus Prolog 4.2 bersyon.
- Na-update ang & quot; expansion & quot; halimbawa na may higit pang mga sample code sa kung paano pagsamahin term- at layunin-expansion kahulugan mula sa iba't ibang mga Hooks bagay.
- Na-update ang & quot; coinduction & quot; Halimbawa, ang pagdaragdag ng isang pang-eksperimentong keysort / 2 coinductive tambalan. Salamat sa Jan Burse para sa mga mungkahi.
- Na-update ang & quot; tak & quot; multi-threading halimbawa kung saan ang isang nawawalang cut ay magreresulta sa mabilis na pagkaubos ng mga lokal na stack kapag gumagamit SWI-paunang salita dahil sa ang paglikha ng isang napakalaking bilang ng mga hindi kailangang mga pagpipilian puntos.
- Na-update ang & quot; mtbatch & quot; multi-threading halimbawa upang magbigay ng pinalawak benchmarking ng & quot; tak & quot; halimbawa.
- Na-update ang MacPorts portfile at ang script na ina-update ng mga ito upang alisin ang mga pagkalkula ng MD5 checksum, na kung saan ay phased out sa pamamagitan ng MacPorts.
- Na-update ang Inno Setup GUI Windows installer script upang workaround isang bug sa installers SWI-Prolog Windows kung saan ang i-uninstall procedure mabibigo upang tanggalin ang SWI-paunang salita susi mula sa Windows registry.
Ano ang bago sa bersyon 2.42.3:
- Payagan dynamic predicates ipinahayag sa isang kategorya na tinatawag na sa & quot; ito & quot; mula sa loob ng kategorya. Sa mga nakaraang bersyon, tulad ng mga tawag ay magreresulta sa isang sumulat ng libro-time error, pagpilit mga predicates upang tawagin sa & quot; sarili & quot; (Gamit ang :: / 1 ang pagpapadala ng mensahe control bumuo).
- Added Logtalk compiler suporta para sa pre-naipon sugnay ulo (gamit ang {} / 1 control bumuo). Ang tampok na ito ay halos kapaki-pakinabang kapag ginagamit ang term-expansion mekanismo.
- Nawastong isang bug sa code na pinapasimple ang tambalan clauses na binuo ng mga compilation ng mga panuntunan grammar. Ang code ay gagawin loop kapag ang isang grammar panuntunan na nilalaman ng isang meta-variable, kung saan ang Logtalk compiler dapat (ngunit sa kasalukuyan ay hindi) ulat bilang labag sa batas (ang tawag / 1 control tayuan dapat gamitin sa halip sa kasong ito).
- Pinasimple ang compilation ng mga tawag sa konteksto ng ang palsipikado-object & quot; user & quot;.
- Nagdagdag ng debugger utos & quot; p & quot; sa Logtalk built-in debugger. Utos na ito prints ang kasalukuyang layunin gamit ang print / 1 panaguri kapag available. Pinalitan ng pangalan ang debugger utos & quot; q & quot; sa & quot; Q & quot ;. Nawastong isang bug kung saan ang debugger utos & quot; w & quot; hindi makikilala. Binago ang debugger utos & quot; d & quot; sa quote tuntunin kapag kinakailangan.
- Idinagdag isang bahagyang pagpapatupad ng ISO Prolog predicate_property / 2 tambalan sa Eclipse config file.
- Na-update ang SWI-Prolog config file upang alisin ang maling deklarasyon ng library meta-predicates dde_register_service / 2, oras / 1, at kapag / 2 bilang built-in na meta-predicates.
- Inilapat isang bug fix sa & quot; flags & quot; kontribusyon na ginawa magagamit sa pamamagitan ng may-akda nito, Theofrastos Mantadelis. Workaround isang compatibility isyu sa GNU Prolog.
- Nagdagdag ng memberchk / 2 tambalan sa library & quot; setp & quot; protocol at & quot; i-set & quot; object. Idinagdag predicates is_control / 1, is_newline / 1, at is_end_of_line / 1 sa library & quot; characterp & quot; at & quot; karakter & quot; entidad.
- Idinagdag isang pang-eksperimentong halimbawa ng paggamit maiugnay variable sa loob Logtalk bagay at mga kategorya. Sa kasalukuyan ay nangangailangan ng paggamit ng YAP o SWI-paunang salita bilang ang back-end Prolog compiler.
- Nagdagdag ng suporta para indexicals sa & quot; constraints / sicstus & quot; halimbawa.
- Pinalawak na & quot; delegates & quot; halimbawa na may isang sample pagpapatupad ng isang magtoka ng gawain gamit ang isang parametric object.
- Pinalawak na & quot; dynpred & quot; halimbawa upang ilarawan kung paano upang tukuyin ang predicates kategoryang iyon hawakan dynamic predicates sa konteksto ng & quot; ito & quot; at sa konteksto ng & quot; sarili & quot;.
- Nagdagdag ng wall_time / 1 panaguri sa & quot; cc & quot; halimbawa.
- Na-update ang syntax highlight file test, ang pagdaragdag nawawala true / 0 at mabibigo / 0 control constructs.
Ano ang bago sa bersyon 2.42.2:
- Na-update ang Logtalk compiler upang payagan ang check para sa module tambalan properties nang hindi nangangailangan ng pag-import ng predicates sa & quot; user & quot; (Tandaan, gayunpaman, na ang module ay dapat pa ring i-load bago ang compilation ng mga file source pagtawag sa module predicates).
- Na-update ang Logtalk compiler upang suriin sumulat ng libro-time instantiated pagsasara argumento sa tawag / 2-N mga layunin para sa mga karaniwang mga error programming.
- Na-update ang Logtalk compiler upang makabuo ng mga babala para sa lambda expression na may mga variable na hindi ipinahayag bilang alinman sa libre variable o lambda parameter o may mga variable na ipinahayag bilang parehong libre variable at lambda parameter. Salamat sa Jan Burse para sa suggesting mga katinuan tseke.
- Na-update ang Logtalk runtime upang suportahan gamit ang & # x3c; & # x3c; / 2 control bumuo sa pagsasara meta-argumento ng meta-predicates .
- Added suporta para sa pag-ipon ng libre / Goal lambda expression na tawag (sa pamamagitan ng awtomatikong pagbuo ng isang pandiwang pantulong tambalan hangga't maaari).
- Nagdagdag ng compile_aux_clauses / 1 pampublikong paraan, batay sa isang tambalan na may parehong pangalan sa SWI-paunang salita, sa built-in object & quot; logtalk & quot ;. Ang pamamaraan na ito ay karaniwang tinatawag na mula goal_expansion / 2 Hooks upang sumulat ng libro auxiliary clauses na nabuo para sa pagsuporta sa isang pinalawak na layunin.
- Idinagdag ang meta-tambalan huwag pansinin / 1, ipinatupad ng ilang Prolog compilers bilang built-in na tambalan, bilang Logtalk built-in na paraan.
- Na-update ang SWI-Prolog config file upang maiwasan ang auto-load ng module aklatan kapag querying tambalan katangian mula Logtalk.
- Na-update ang Qu-Prolog, SICStus Prolog, at XSB config file upang gawing magagamit ang tambalan term_variables / 2 bilang isang ISO built-in na tambalan.
- Na-update ang Qu-Prolog integration script upang i-double ang heap size halaga para sa kino-compile ang Logtalk compiler / runtime, paglutas ng isang startup crash.
- Naipanumbalik ang MacOS X command-file para sa GNU Prolog (inilipat up mula sa & quot; Script / macosx / command_files / hindi suportadong & quot; folder).
- Added predicates findall_member / 4-5 sa object library & quot; meta & quot; (Batay sa draft Prolog library proposal Richard O'Keefe ni). Inalis deklarasyon at kahulugan ng mga predicates callable / 1 at huwag pansinin / 1 mula sa entity library & quot; metap & quot; at & quot; meta & quot; (Callable / 1 ay isang built-in tambalan sa lahat ng mga suportadong Prolog compilers; huwag pansinin / 1 ay ngayon ng isang Logtalk built-in na paraan) .
- Nagdagdag ng library object, & quot; meta_compiler & quot ;, na maaaring magamit bilang isang hook object upang mapalawak tawag sa meta-predicates tinukoy sa object library & quot; meta & quot; upang maiwasan ang mga meta-call paggugol. Sa mga kaso kung saan ang meta-tambalan tawag ay hindi maaaring optimized, ang default definition sa link na & quot; meta & quot; object ay ginagamit. Paggamit ng control constructs bilang meta-argumento ay hindi (pa) suportado. Trabaho sa progreso.
- Nagdagdag ng protocol, & quot; loggingp & quot ;, at kategorya at object pagpapatupad, & quot; pag-log & quot; at & quot;. logger & quot ;, deklarasyon at pagtukoy pangunahing pag-andar para sa pag-log ng mga kaganapan sa mga file sa library
- Nagdagdag ng protocol, & quot; intervalp & quot ;, at isang bagay, & quot; interval & quot ;, deklarasyon at pagtukoy basic temporal interval relasyon sa library (batay sa mga trabaho James F. Allen Interval Algebra) .
- Idinagdag isang kategorya pagpapatupad pinangalanan counter integer, & quot;. Counter & quot ;, sa library
- Idinagdag predicates proper_prefix / 2 at proper_suffix / 2 sa entidad library & quot; listp & quot ;, & quot; listahan & quot ;, at & quot; difflist & quot;.
- Idinagdag tambalan baligtarin / 2 sa object library & quot; mga pares & quot;.
- Nagdagdag ng dalawang pseudo-halimbawa para sa mga layunin ng pagsusuri, & quot; lambdas_compiled & quot; at & quot; metapredicates_compiled & quot ;, na gumawa ng paggamit ng mga bagong library object
- & quot; meta_compiler & quot;.
- Na-update ang & quot; expansion & quot; halimbawa upang ilarawan kung paano upang tukuyin at pagsamahin hook bagay.
- Nagdagdag ng suporta para sa paggamit ng SyntaxHighlighter package (version 3.0.83 o mas bago) sa pamamagitan ng Alex Gorbatchev may Logtalk source code.
- Idinagdag nawawalang syntax pangkulay ng ibang tao / 0 conditional compilation direktiba sa GNU Source-highlight highlighter support.
- Nagdagdag ng tala sa Logtalk text support editing magagamit sa libreng MacOS X Kod text editor.
- Idinagdag syntax pangkulay suporta para sa bagong huwag pansinin / 1 built-in na paraan upang lahat ng mga suportadong mga editor ng teksto at syntax highlighters.
Ano ang bago sa bersyon 2.42.1:
- Nagdagdag ng suporta sa Logtalk compiler para sa tiktik at pag-uulat nawawala dynamic / 1 at discontiguous / 1 panaguri direktiba.
- Nagdagdag ng isang bagong lint flag, & quot; missing_directives & quot ;, na may isang default na halaga ng & quot; babala & quot ;, sa lahat config file. flag na ito ay nagbibigay-daan sa pag-print ng mga babala compiler para sa nawawalang dynamic / 1, discontiguous / 1, at multifile / 1 panaguri direktiba.
- Nagdagdag ng suporta para sa mga bagong tagapagpabatid meta-tambalan template mode: (/) para sa isang indicator tambalan, [/] para sa listahan ng tambalan tagapagpabatid, at [0] para sa isang listahan ng mga layunin .
- Nawastong isang bug sa Logtalk compiler kapag check meta-tambalan sugnay ulo para sa mga error kung saan ang & quot; :: & quot; meta-argument mode indicator ay prino-kahulugan bilang & quot; 0 & quot;.
- Nawastong isang bug sa pag-asikaso ng closures (sa meta-tawag) na ginagamit upang bumuo ng mga tawag upang makontrol constructs o built-in predicates na maaaring magresulta sa pagtawag sa ilang meta-argumento sa maling konteksto. Salamat sa Ulrich Neumerkel para sa illustrating halimbawa sa SWI-Prolog mailing list.
- Na-update ang Logtalk compiler upang maiwasan babala printing tungkol sa nawawalang mga sanggunian sa & quot; pagpapalawak & quot; at & quot; pagsubaybay & quot; built-in na mga protocol kapag ipon modules bilang mga bagay.
- Ibinalik ang mga pagbabago sa bersyon 2.39.2 na pinapayagan ang pseudo-object & quot; user & quot; sa halos naglalaman ng mga kahulugan ng lahat Prolog built-in na predicates. Ito ay maaaring humantong sa iba't-ibang mga resulta depende sa back-end Prolog compiler, lalo na kapag tumatawag meta-predicates sa konteksto ng & quot; user & quot;.
- Nawastong isang bug sa SWI-paunang salita & quot; swihooks.lgt & quot; file na nagresulta sa isang bogus mensahe ng error tungkol sa isang di-wastong Logtalk bandila kapag pagkonsulta sa isang Prolog file kapag may isang Logtalk source file na may parehong pangalan sa parehong directory.
- Idinagdag nawawalang suporta para sa pagmamay-ari na built-in na meta-predicates sa B-Prolog, SICStus Prolog, SWI-paunang salita, XSB, at YAP config file.
- Na-update ang SICStus Prolog, SWI-paunang salita, at YAP config file upang i-override ang meta-tambalan template para sa kumunsulta / 1 at load_files / 2 built-in na predicates.
- May idinagdag na pagpapatupad ng isang map_reduce / 5 meta-tambalan sa object library & quot; meta & quot;.
- May idinagdag na pagpapatupad ng isang command_line_arguments / 1 panaguri sa & quot; cc & quot; halimbawa.
- Na-update ang & quot; lambdas & quot; at & quot; metapredicates & quot; halimbawa, na nagpapakita kung paano upang makalkula Fibonacci numero gamit ang isang fold kaliwang meta-tambalan. Na-update ang & quot; metapredicates & quot; halimbawa na may isang halimbawa ng paggamit ng map_reduce / 5 meta-tambalan.
- Na-update ang & quot; problog & quot; Halimbawa, ang pagdaragdag paunang suporta para sa bagong annotation disjunctions syntax.
- Nagdagdag ng & quot; magic & quot; elemento sa Logtalk panggagaya-uri ng file para sa mga freedesktop.org shared database mime-info.
Ano ang bago sa bersyon 2.42.0:.
- Idinagdag isang pagpapatupad ng persistent flags object
- Nagdagdag ng isang bagong pares ng built-in na predicates, conforms_to_protocol / 2-3, pagpapatupad ng palipat pagsasara ng protocol pagpapatupad kaugnayan.
- Idinagdag isang pang-eksperimentong direktiba, annotation / 1, para sa pagsuporta Logtalk integration sa iba pang mga wika tulad ng ProbLog at CHR.
Mga Komento hindi natagpuan