Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14148
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | Re: post-N246 Read- and Write-Option variable_names/1 (Was: DCG restrictions on the left-hand side [Novacore]) |
| Date | 2024-08-10 20:33 +0200 |
| Message-ID | <v98bpp$124d0$1@solani.org> (permalink) |
| References | <v8bc1u$indc$1@solani.org> <v98b1p$123qt$1@solani.org> |
Hi,
I recently introduce '$VAR'/1 detection in
writing again. I have now a 100% Prolog written
'$VAR'/1 capable output routine.
Somehow I found '$VAR'/1 usueful again, especially
in connection with numbersvars/3 which is in
library(compat) the two make a nice pair
of Swiss army knife for printing. What the
routines don't do, they for example don't check
variable_names/1 option for a cyclic list, so
I currently get:
/* Dogelog Player */
?- VN = ['U'=X,'V'=Y | VN], write_term(f(X,g(Y,X),Y),
[variable_names(VN)]), nl.
%%% hangs or I wasn't wainting long enough
But then SWI-Prolog does something strange,
but the error message is funny:
?- VN = ['U'=X,'V'=Y | VN], write_term(f(X,g(Y,X),Y),
[variable_names(VN)]), nl.
ERROR: Type error: `list' expected, found `'V'=V' (a compound)
Does the error message use the variable_names/1
association list that is in prepaperation somehow,
as a unintended side effect? Or what explains that
it shows 'V'=V' and not 'V'=Y'? And why does it
complain about compound? And not say something about cyclic?
This here works correctly:
?- VN = ['U'=X,'V'=Y], write_term(f(X,g(Y,X),Y),
[variable_names(VN)]), nl.
f(U,g(V,U),V)
Mild Shock schrieb:
>
> UWN is testing Prolog systems that don't exist anymore:
>
> Jekejeke 1.5.0
> https://www.complang.tuwien.ac.at/ulrich/iso-prolog/variable_names#73
>
> a) There is no more publicitly available Jekejeke
> Prolog anymore, I think I wrote UWN already in the
> past about that.
>
> b) There is only Dogelog Player, which has a 100%
> Prolog written read/write predicates including
> the variable_name/1 option. Source code is here,
> you also find GIT access etc to the Prolog system:
>
> Quelltexte und Archive des Dogelog Spieler.
> https://www.xlog.ch/izytab/doclet/docs/07_spec/02_dogelog.html
>
> c) There is an internal version of Jekejeke Prolog,
> which is way after 1.5.0, with version 1.7.0, but
> it also uses the Dogelog Payer 100% Prolog
> written read/write, so no need to test.
>
>
> Mild Shock schrieb:
>> Guess how many newer Prolog systems allow this here:
>>
>> ?- [user].
>> p;q --> r.
>> true.
>>
>> On the other hand SWI-Prolog disallows it:
>>
>> ?- [user].
>> p;q --> r.
>>
>> ERROR: user://1:29:
>> ERROR: No permission to define dcg_nonterminal `p;q'
>
Back to comp.lang.prolog | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
DCG restrictions on the left-hand side [Novacore] Mild Shock <janburse@fastmail.fm> - 2024-07-30 20:39 +0200
Re: DCG restrictions on the left-hand side [Novacore] Mild Shock <janburse@fastmail.fm> - 2024-07-30 20:43 +0200
Re: DCG restrictions on the left-hand side [Novacore] Mild Shock <janburse@fastmail.fm> - 2024-07-30 20:45 +0200
Re: DCG restrictions on the left-hand side [Novacore] Mild Shock <janburse@fastmail.fm> - 2024-07-31 07:55 +0200
Re: DCG restrictions on the left-hand side [Novacore] Mild Shock <janburse@fastmail.fm> - 2024-07-31 08:07 +0200
post-N246 Read- and Write-Option variable_names/1 (Was: DCG restrictions on the left-hand side [Novacore]) Mild Shock <janburse@fastmail.fm> - 2024-08-10 20:20 +0200
Re: post-N246 Read- and Write-Option variable_names/1 (Was: DCG restrictions on the left-hand side [Novacore]) Mild Shock <janburse@fastmail.fm> - 2024-08-10 20:33 +0200
Is a PIP for Syntax extensions necessary? (Was; post-N246 Read- and Write-Option variable_names/1) Mild Shock <janburse@fastmail.fm> - 2024-08-11 00:02 +0200
Re: Is a PIP for Syntax extensions necessary? (Was; post-N246 Read- and Write-Option variable_names/1) Mild Shock <janburse@fastmail.fm> - 2024-08-11 00:05 +0200
Re: Is a PIP for Syntax extensions necessary? (Was; post-N246 Read- and Write-Option variable_names/1) Mild Shock <janburse@fastmail.fm> - 2024-08-11 00:16 +0200
Re: Is a PIP for Syntax extensions necessary? (Was; post-N246 Read- and Write-Option variable_names/1) Mild Shock <janburse@fastmail.fm> - 2024-08-11 00:25 +0200
Re: Is a PIP for Syntax extensions necessary? (Was; post-N246 Read- and Write-Option variable_names/1) Mild Shock <janburse@fastmail.fm> - 2024-08-11 14:46 +0200
A PIP classification scheme is needed (Was: DCG restrictions on the left-hand side [Novacore]) Mild Shock <janburse@fastmail.fm> - 2024-08-13 11:18 +0200
Re: A PIP classification scheme is needed (Was: DCG restrictions on the left-hand side [Novacore]) Mild Shock <janburse@fastmail.fm> - 2024-08-13 11:23 +0200
Re: A PIP classification scheme is needed (Was: DCG restrictions on the left-hand side [Novacore]) Mild Shock <janburse@fastmail.fm> - 2024-08-13 13:08 +0200
csiph-web