Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14118
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Newsgroups | comp.lang.prolog |
| Subject | Re: DCG restrictions on the left-hand side [Novacore] |
| Date | 2024-07-31 07:55 +0200 |
| Message-ID | <v8cjk1$j8js$1@solani.org> (permalink) |
| References | <v8bc1u$indc$1@solani.org> <v8bc91$inkj$1@solani.org> <v8bccd$inkj$2@solani.org> |
Although SWI-Prolog implements a lot of checks. It still allows this one: ?- a-->b. ERROR: Unknown procedure: (-->)/2 ?- assertz((a-->b)). true. ?- a-->b. true. Scryer Prolog managed to prevent this, in that the assertz/1 throws an error. Think will finally adopt this behaviour to prevent the end-user from accidentially fiddling with (-->)/2. Mild Shock schrieb: > > This was discussed here: > > Definite Clause Grammars Harmonization Proposal > Last edit jschimpf? October 20, 2016, at 12:42 AM > https://eclipseclp.org/wiki/Prolog/DCG > > Not sure why Scryer Prolog doesn't implement it. > > Mild Shock schrieb: >> >> In Novacore we are lucky, its a side effect of >> phrase translating the head and a multi-file check: >> >> ?- [user]. >> p;q --> r. >> Fehler: Kann Prädikat ;/2 nicht umdefinieren, nicht als Mehrdateien >> markiert. >> >> But might work out differently if a DCG is expanded >> and asserted. Ok, its actually not so bad: >> >> ?- expand_term((p;q --> r), X), assertz(X). >> Fehler: Kann Prädikat ;/2 nicht aktualisieren. >> user auf 1 >> >> >> 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