Path: ...!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock Newsgroups: comp.lang.prolog Subject: Re: Why cant Scryer Prolog parse this? (Was: France is the Fire Nation of Prolog) Date: Sun, 1 Sep 2024 16:29:12 +0200 Message-ID: References: <4e8fe506-964f-40b4-acf3-ac8e028a785en@googlegroups.com> <98f3fd5e-aee6-4a87-9f12-0df4a12e061dn@googlegroups.com> <758bac6e-fa0e-442d-afdc-bf7b0ea3f476n@googlegroups.com> <29a8df8b-5a26-436d-a1fc-d99d395e6cd5n@googlegroups.com> <51469f92-69a9-4e04-ba5b-87736f34f8fan@googlegroups.com> <976f92b0-f39d-4a99-bae6-312a99509479n@googlegroups.com> <367479d2-55fa-4d09-a335-452ebc12be53n@googlegroups.com> <0dd031b7-b544-4834-8c4f-c05cdb73f108n@googlegroups.com> <2819e103-ad9e-4b92-8e20-52a3af80ad60n@googlegroups.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sun, 1 Sep 2024 14:29:13 -0000 (UTC) Injection-Info: solani.org; logging-data="2133161"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.18.2 Cancel-Lock: sha1:WntLDnIploKtFL+aqiwNMhWalV0= X-User-ID: eJwFwQkBwDAIA0BLhCdQOS0M/xJ2F0aw0xn02Nitet6QIXvk62gvy4HmPRd4Uvap2px258BzU2oRCltq2Q9MtxSe In-Reply-To: Bytes: 4666 Lines: 102 Ok, my bad, prefix (table) is probably not the best example. This example works better: scryer-prolog$ target/release/scryer-prolog ?- X = (#\/ = #\/). X = (#\/ = #\/). ?- use_module(library(clpz)). true. ?- X = (#\/ = #\/). error(syntax_error(incomplete_reduction),read_term/3:1). versus: trealla$ ./tpl ?- X = (#\/ = #\/). X = (#\/ = #\/) . ?- use_module(library(clpz)). true. ?- X = (#\/ = #\/). X = ((#\/)=(#\/)). Mild Shock schrieb: > Tau Prolog can do it: > > https://github.com/tau-prolog/tau-prolog/issues/286 > > But Tau Prolog is dead now, or hibernating for > more than 12 months already. So the more lenient > behaviour has already been ossified in this Prolog system. > > Another argument not in favor, it also makes parsing > more non-monotonic, if you introduce the "shall" condition, > because its a negative parsing condition. > ``` > $ target/release/scryer-prolog > ?- X = (table = table). >    X = (table=table). > > ?- use_module(library(tabling)). >    true. > > ?- X = (table = table). >    error(syntax_error(incomplete_reduction),read_term/3:1). > ``` > Maybe introducing more than rather less operator table > dependencies in a grammar is always a mistake? A further > use case is (!)/1 in TPTP syntax. > > Mild Shock schrieb: >> Hi, >> >> Why cant Scryer Prolog parse this? >> >> scryer-prolog$ target/release/scryer-prolog -v >> v0.9.4-165-g12a61cdf >> >> scryer-prolog$ target/release/scryer-prolog >> >> ?- current_op(X, Y, *). >>     X = 400, Y = yfx. >> >> ?- X = (* = *). >>     error(syntax_error(incomplete_reduction),read_term/3:1). >> >> On the other hand Trealla Prolog has no problem: >> >> trealla$ ./tpl -v >> Trealla Prolog (c) Infradig 2020-2024, v2.55.31 >> >> trealla$ ./tpl >> ?- current_op(X, Y, *). >>     X = 400, Y = yfx. >> >> ?- X = (* = *). >>     X = ((*)=(*)). >> >> What LEX / YACC did they use? Holy cow! >> >> Bye >> >> Mild Shock schrieb: >>> Is Canada also France? Seems I am not the only one who got >>> into struggle with Logtalk sooner or later. LoL >>> >>> How its started: >>> Ticket raised by me Aug 9, 2021 (when I was "ghost") >>> Feature request flag dialect, maybe version and version_data >>> https://github.com/mthom/scryer-prolog/issues/1017 >>> >>> How its going: >>> Commit by pmoura last week >>> Delete Scryer Prolog support due to this system refusal to >>> support the de facto standard `version_data` flag >>> https://github.com/LogtalkDotOrg/logtalk3/commit/d93883c5a8b014af09bd0e11439eaff30e1c1a5c >>> >>> >>> What happened? >>> >>> LoL >>> >> >