influence > universal termination. That is, a goal G_0, false willorder of clause can only influence termination propertiesThis depends on your definition of termination. There is universal termination and (much rarer) existential termination.
In a pure, monotonic program, order of clauses does not even
the very same way regardless of the clause order. (For a goal G_0,
false both universal and existential termination are the same.)
Woa! This nonsense really made my day:
https://github.com/mthom/scryer-prolog/discussions/3004
It starts with, where somebody "tried" a declarative DCG
using constraint logic programming:
number_tail(0, 0) --> [].
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit),
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
He then noticed that its not deterministic. And since
it is not deterministic, clause ordering changes the
result when onced via once/1.
LoL
If DCGs had a cut, one would any way do:
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit), !,
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
number_tail(0, 0) --> [].
Push the determinancy into the DCG. Otherwise you have
an explosion of choice points, and a lot of things go
totally wrong.
But the new DCG standard has no cut (!)/2.
Hi,
Well Ulrich Neumerkel is of course the biggest
quack of all as usual:
order of clause can only influence termination propertiesThis depends on your definition of termination. There is universal termination and (much rarer) existential termination.
In a pure, monotonic program, order of clauses does not eveninfluence > universal termination. That is, a goal G_0, false will
terminate in
the very same way regardless of the clause order. (For a goal G_0,
false both universal and existential termination are the same.)
https://github.com/mthom/scryer-prolog/discussions/3004#discussioncomment-13704812
Complete idiots, nothing to do with terminations. DCGs
that consume characters do anyway terminate. What is he talking about?
Bye
Mild Shock schrieb:
Woa! This nonsense really made my day:
https://github.com/mthom/scryer-prolog/discussions/3004
It starts with, where somebody "tried" a declarative DCG
using constraint logic programming:
number_tail(0, 0) --> [].
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit),
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
He then noticed that its not deterministic. And since
it is not deterministic, clause ordering changes the
result when onced via once/1.
LoL
If DCGs had a cut, one would any way do:
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit), !,
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
number_tail(0, 0) --> [].
Push the determinancy into the DCG. Otherwise you have
an explosion of choice points, and a lot of things go
totally wrong.
But the new DCG standard has no cut (!)/2.
Hi,
An then you have the poor guy who asked
the question, and doesn't have a single useful
take away. Possibly anyway a payed Ass-Licker:
Thank you all for the comments! https://github.com/mthom/scryer-prolog/discussions/3004#discussioncomment-13707072
Scryer Prolog is totalla fake nonsense.
Bye
Mild Shock schrieb:
Hi,
Well Ulrich Neumerkel is of course the biggest
quack of all as usual:
influence > universal termination. That is, a goal G_0, false willorder of clause can only influence termination propertiesThis depends on your definition of termination. There is universal
termination and (much rarer) existential termination.
;
In a pure, monotonic program, order of clauses does not even
terminate in
the very same way regardless of the clause order. (For a goal G_0,
false both universal and existential termination are the same.)
https://github.com/mthom/scryer-prolog/discussions/3004#discussioncomment-13704812
Complete idiots, nothing to do with terminations. DCGs
that consume characters do anyway terminate. What is he talking about?
Bye
Mild Shock schrieb:
Woa! This nonsense really made my day:
https://github.com/mthom/scryer-prolog/discussions/3004
It starts with, where somebody "tried" a declarative DCG
using constraint logic programming:
number_tail(0, 0) --> [].
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit),
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
He then noticed that its not deterministic. And since
it is not deterministic, clause ordering changes the
result when onced via once/1.
LoL
If DCGs had a cut, one would any way do:
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit), !,
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
number_tail(0, 0) --> [].
Push the determinancy into the DCG. Otherwise you have
an explosion of choice points, and a lot of things go
totally wrong.
But the new DCG standard has no cut (!)/2.
Hi,
In the end Scryer Prolog is a big Dunning
Kruger pyramid scheme:
The Dunning–Kruger effect is a cognitive bias in
which people with limited competence in a particular
domain overestimate their abilities. It was first
described by the psychologists David Dunning and
Justin Kruger in 1999.
https://de.wikipedia.org/wiki/Dunning-Kruger-Effekt
Its a pyramid scheme, because its based on incompetent
people on different levels,
and its all about to grab some money:
Lisp and Prolog appear in the European
Commission's eGovernment Benchmark 2025 https://github.com/mthom/scryer-prolog/discussions/2994
Just nonsense, nothing else...
Bye
Mild Shock schrieb:
Hi,
An then you have the poor guy who asked
the question, and doesn't have a single useful
take away. Possibly anyway a payed Ass-Licker:
Thank you all for the comments!
https://github.com/mthom/scryer-prolog/discussions/3004#discussioncomment-13707072
Scryer Prolog is totalla fake nonsense.
Bye
Mild Shock schrieb:
Hi,
Well Ulrich Neumerkel is of course the biggest
quack of all as usual:
influence > universal termination. That is, a goal G_0, false willorder of clause can only influence termination propertiesThis depends on your definition of termination. There is universal
termination and (much rarer) existential termination.
;
In a pure, monotonic program, order of clauses does not even
terminate in
the very same way regardless of the clause order. (For a goal G_0,
false both universal and existential termination are the same.)
https://github.com/mthom/scryer-prolog/discussions/3004#discussioncomment-13704812
Complete idiots, nothing to do with terminations. DCGs
that consume characters do anyway terminate. What is he talking about?
Bye
Mild Shock schrieb:
Woa! This nonsense really made my day:
https://github.com/mthom/scryer-prolog/discussions/3004
It starts with, where somebody "tried" a declarative DCG
using constraint logic programming:
number_tail(0, 0) --> [].
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit),
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
He then noticed that its not deterministic. And since
it is not deterministic, clause ordering changes the
result when onced via once/1.
LoL
If DCGs had a cut, one would any way do:
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit), !,
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
number_tail(0, 0) --> [].
Push the determinancy into the DCG. Otherwise you have
an explosion of choice points, and a lot of things go
totally wrong.
But the new DCG standard has no cut (!)/2.
Hi,
Well Ulrich Neumerkel is of course the biggest
quack of all as usual:
order of clause can only influence termination propertiesThis depends on your definition of termination. There is universal termination and (much rarer) existential termination.
In a pure, monotonic program, order of clauses does not eveninfluence > universal termination. That is, a goal G_0, false will
terminate in
the very same way regardless of the clause order. (For a goal G_0,
false both universal and existential termination are the same.)
https://github.com/mthom/scryer-prolog/discussions/3004#discussioncomment-13704812
Complete idiots, nothing to do with terminations. DCGs
that consume characters do anyway terminate. What is he talking about?
Bye
Mild Shock schrieb:
Woa! This nonsense really made my day:
https://github.com/mthom/scryer-prolog/discussions/3004
It starts with, where somebody "tried" a declarative DCG
using constraint logic programming:
number_tail(0, 0) --> [].
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit),
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
He then noticed that its not deterministic. And since
it is not deterministic, clause ordering changes the
result when onced via once/1.
LoL
If DCGs had a cut, one would any way do:
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit), !,
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
number_tail(0, 0) --> [].
Push the determinancy into the DCG. Otherwise you have
an explosion of choice points, and a lot of things go
totally wrong.
But the new DCG standard has no cut (!)/2.
Now this line of code made me both smile and cry:
doge.pl: $(PROG)
$(file >$@,false :- \+true. ?- ['$<'],$(MAIN).)
Why define false so complicated:
false :- \+ true.
Why not define it as follows:
false :- fail.
The stack overflow user by the name false who
institutionalized false/0 as a synonym for fail/0
by way of ISO Prolog Corrigendum 2:
8.15.5.4 Examples
false.
Fails.
https://www.complang.tuwien.ac.at/ulrich/iso-prolog/dtc2#false
Mild Shock schrieb:
Hi,
Well Ulrich Neumerkel is of course the biggest
quack of all as usual:
influence > universal termination. That is, a goal G_0, false willorder of clause can only influence termination propertiesThis depends on your definition of termination. There is universal
termination and (much rarer) existential termination.
;
In a pure, monotonic program, order of clauses does not even
terminate in
the very same way regardless of the clause order. (For a goal G_0,
false both universal and existential termination are the same.)
https://github.com/mthom/scryer-prolog/discussions/3004#discussioncomment-13704812
Complete idiots, nothing to do with terminations. DCGs
that consume characters do anyway terminate. What is he talking about?
Bye
Mild Shock schrieb:
Woa! This nonsense really made my day:
https://github.com/mthom/scryer-prolog/discussions/3004
It starts with, where somebody "tried" a declarative DCG
using constraint logic programming:
number_tail(0, 0) --> [].
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit),
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
He then noticed that its not deterministic. And since
it is not deterministic, clause ordering changes the
result when onced via once/1.
LoL
If DCGs had a cut, one would any way do:
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit), !,
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
number_tail(0, 0) --> [].
Push the determinancy into the DCG. Otherwise you have
an explosion of choice points, and a lot of things go
totally wrong.
But the new DCG standard has no cut (!)/2.
Woa! This nonsense really made my day:--- Synchronet 3.21a-Linux NewsLink 1.2
https://github.com/mthom/scryer-prolog/discussions/3004
It starts with, where somebody "tried" a declarative DCG
using constraint logic programming:
number_tail(0, 0) --> [].
number_tail(Number, DigitsCount) -->
("," | ""),
digit(Digit),
number_tail(Digits, RestDigitsCount),
{
DigitsCount #= RestDigitsCount + 1,
Number #= Digit * 10 ^ RestDigitsCount + Digits
}.
He then noticed that its not deterministic. And since
it is not deterministic, clause ordering changes the
result when onced via once/1.
LoL
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 1,064 |
Nodes: | 10 (0 / 10) |
Uptime: | 148:00:28 |
Calls: | 13,691 |
Calls today: | 1 |
Files: | 186,936 |
D/L today: |
33 files (6,120K bytes) |
Messages: | 2,410,927 |