Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
The only problem is Rust is shiiiit.
At least some argument about precise
garbage collection induced by immediate
malloc / free doesn't strike me as
convincing. Many modern programming
languages don't use the malloc / free
paradigma for memory management. You
don't get automatically pause free
systems when relying on malloc / free.
It can be even worse. I have seen browsers
that take a while to close a window
because they did synchrously release all
the resources of a window. So there
is a fallacy involved in all believes that
immediate malloc / free leads to pause
free systems, it can be even worse.
Bye
Mild Shock schrieb:
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
Now I have the feeling that Trealla implements
the extreme of Jaffar's Unification, to the extend
that it keeps and trails functor linking? Was
studying the source of Trealla . Have also the
impression that it uses a very large native stack.
Is this trailing what gave it the name Trealla,
despite the geographic beach location with such a name ?
BTW: I have new benchmark results (*) = Dogelog:
Test | Java (*) | JavaScript (*) | Python (*) | Scryer | Trealla
-- | -- | -- | -- | -- | --
(=)/2 | 184 | 514 | 1750 | 210 | 53
unify_with_occurs_check/2 | 213 | 601 | 2344 | N/A | 53
(==)/2 | 95 | 227 | 1265 | 250 | 65
compare/3 | 86 | 221 | 1328 | 250 | 65
copy_term/2 | 409 | 589 | 2579 | 108 | N/A
term_variables/2 | 168 | 318 | 1469 | 166 | 90
ground/1 | 40 | 120 | 516 | 70 | 121
acyclic_term/1 | 129 | 290 | 1281 | 386 | N/A
numbervars/3 | 170 | 327 | 1516 | 164 | 100
Pitty `copy_term/2` and `acyclic_term/1` do not
yet work with a hydra example.
I am using a hydra variant, which puts less
pressure on the memory, but does benchmark
the built-ins in a loop, so that I see some
numbers. My problem was that Trealla was
below the 1 ms mesurememt:
```
hydra(0, _) :- !.
hydra(N, h(X, X)) :- N > 0, N0 is N-1, hydra(N0, X).
hydra(0, A, A) :- !.
hydra(N, h(X, X), A) :- N > 0, N0 is N-1, hydra(N0, X, A).
/* Binary Built-ins */
bench :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), X = Y, fail; true)),
time((between(1,64,_), unify_with_occurs_check(X, Y), fail; true)),
time((between(1,64,_), X == Y, fail; true)),
time((between(1,64,_), compare(_, X, Y), fail; true)), fail; true.
/* Unary Built-ins */
bench2 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), copy_term(X-Y,_), fail; true)),
time((between(1,64,_), term_variables(X-Y,_), fail; true)),
time((between(1,64,_), ground(X-Y), fail; true)),
time((between(1,64,_), acyclic_term(X-Y), fail; true)),
fail; true.
/* Misc Built-ins */
bench3 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), numbervars(X-Y,0,_), fail; true)),
fail; true.
```
Bye
Mild Shock schrieb:
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
Information for Boris the Loris, chief grammar
Nazi of SWI-Prolog discourse. Here is a summary
of my No Fuzz(y) declaration for the
Trealla & Co. benchmarking from my previous post:
- No fuzzy logic involved.
Its all binary.
- No fuzzy testing involved.
Its all manual testing.
- No fuzz testing involved.
See above fuzzy testig.
- No fuzzing test involved.
See above fuzzy testig.
What about the American Fuzzy Lop (AFL),
a free software fuzzer:
https://en.wikipedia.org/wiki/American_Fuzzy_Lop_%28software%29
Or was a breed of rabbit, by the
the name American Fuzzy Lop involved?
https://en.wikipedia.org/wiki/American_Fuzzy_Lop
No neither of the 2 AFLs were involved.
Bye
Mild Shock schrieb:
Hi,
Now I have the feeling that Trealla implements
the extreme of Jaffar's Unification, to the extend
that it keeps and trails functor linking? Was
studying the source of Trealla . Have also the
impression that it uses a very large native stack.
Is this trailing what gave it the name Trealla,
despite the geographic beach location with such a name ?
BTW: I have new benchmark results (*) = Dogelog:
Test | Java (*) | JavaScript (*) | Python (*) | Scryer | Trealla
-- | -- | -- | -- | -- | --
(=)/2 | 184 | 514 | 1750 | 210 | 53
unify_with_occurs_check/2 | 213 | 601 | 2344 | N/A | 53
(==)/2 | 95 | 227 | 1265 | 250 | 65
compare/3 | 86 | 221 | 1328 | 250 | 65
copy_term/2 | 409 | 589 | 2579 | 108 | N/A
term_variables/2 | 168 | 318 | 1469 | 166 | 90
ground/1 | 40 | 120 | 516 | 70 | 121
acyclic_term/1 | 129 | 290 | 1281 | 386 | N/A
numbervars/3 | 170 | 327 | 1516 | 164 | 100
Pitty `copy_term/2` and `acyclic_term/1` do not
yet work with a hydra example.
I am using a hydra variant, which puts less
pressure on the memory, but does benchmark
the built-ins in a loop, so that I see some
numbers. My problem was that Trealla was
below the 1 ms mesurememt:
```
hydra(0, _) :- !.
hydra(N, h(X, X)) :- N > 0, N0 is N-1, hydra(N0, X).
hydra(0, A, A) :- !.
hydra(N, h(X, X), A) :- N > 0, N0 is N-1, hydra(N0, X, A).
/* Binary Built-ins */
bench :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), X = Y, fail; true)),
time((between(1,64,_), unify_with_occurs_check(X, Y), fail; true)), >> time((between(1,64,_), X == Y, fail; true)),
time((between(1,64,_), compare(_, X, Y), fail; true)), fail; true.
/* Unary Built-ins */
bench2 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), copy_term(X-Y,_), fail; true)),
time((between(1,64,_), term_variables(X-Y,_), fail; true)),
time((between(1,64,_), ground(X-Y), fail; true)),
time((between(1,64,_), acyclic_term(X-Y), fail; true)),
fail; true.
/* Misc Built-ins */
bench3 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), numbervars(X-Y,0,_), fail; true)),
fail; true.
```
Bye
Mild Shock schrieb:
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
Was Boris living under a rock, maybe on
the moon in a secret Nazi Facility?
Who knows, maybe he was in another facility,
some kind of mental asylum, until he was
hired by SWI-Prolog. How many Fuzzy Testing
tools are there? Actually plenty:
http://fuzzing-survey.org/
Some excerpt:
Creal
FishFuzz
ParmeSan
WindRanger
loFuzz
UAFL
HAFL
MobFuzz
WINNIE
CAFL
DynSQL
MirageFuzz
IRFU
PhyFu
NestFuzz
AMPFuzz
MC2
AIFORE
IPEA-Fuzz
FuzzlnMem
CarpetFuzz
JIGSAW
YARPGen
PDGF
BEACON
Mallory
Fuzz
LLM-Fuzzer
FAST
DAFL
OddFuzz
KRAKEN
CDFUZ7
MALinten+
ChatAFL
TWINFUZ7
DeepGo
xFUZZ
FreeWavm
Halo
Select
Titan
Etc...
Bye
Mild Shock schrieb:
Hi,
Information for Boris the Loris, chief grammar
Nazi of SWI-Prolog discourse. Here is a summary
of my No Fuzz(y) declaration for the
Trealla & Co. benchmarking from my previous post:
- No fuzzy logic involved.
Its all binary.
- No fuzzy testing involved.
Its all manual testing.
- No fuzz testing involved.
See above fuzzy testig.
- No fuzzing test involved.
See above fuzzy testig.
What about the American Fuzzy Lop (AFL),
a free software fuzzer:
https://en.wikipedia.org/wiki/American_Fuzzy_Lop_%28software%29
Or was a breed of rabbit, by the
the name American Fuzzy Lop involved?
https://en.wikipedia.org/wiki/American_Fuzzy_Lop
No neither of the 2 AFLs were involved.
Bye
Mild Shock schrieb:
Hi,
Now I have the feeling that Trealla implements
the extreme of Jaffar's Unification, to the extend
that it keeps and trails functor linking? Was
studying the source of Trealla . Have also the
impression that it uses a very large native stack.
Is this trailing what gave it the name Trealla,
despite the geographic beach location with such a name ?
BTW: I have new benchmark results (*) = Dogelog:
Test | Java (*) | JavaScript (*) | Python (*) | Scryer | Trealla
-- | -- | -- | -- | -- | --
(=)/2 | 184 | 514 | 1750 | 210 | 53
unify_with_occurs_check/2 | 213 | 601 | 2344 | N/A | 53
(==)/2 | 95 | 227 | 1265 | 250 | 65
compare/3 | 86 | 221 | 1328 | 250 | 65
copy_term/2 | 409 | 589 | 2579 | 108 | N/A
term_variables/2 | 168 | 318 | 1469 | 166 | 90
ground/1 | 40 | 120 | 516 | 70 | 121
acyclic_term/1 | 129 | 290 | 1281 | 386 | N/A
numbervars/3 | 170 | 327 | 1516 | 164 | 100
Pitty `copy_term/2` and `acyclic_term/1` do not
yet work with a hydra example.
I am using a hydra variant, which puts less
pressure on the memory, but does benchmark
the built-ins in a loop, so that I see some
numbers. My problem was that Trealla was
below the 1 ms mesurememt:
```
hydra(0, _) :- !.
hydra(N, h(X, X)) :- N > 0, N0 is N-1, hydra(N0, X).
hydra(0, A, A) :- !.
hydra(N, h(X, X), A) :- N > 0, N0 is N-1, hydra(N0, X, A).
/* Binary Built-ins */
bench :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), X = Y, fail; true)),
time((between(1,64,_), unify_with_occurs_check(X, Y), fail; true)), >>> time((between(1,64,_), X == Y, fail; true)),
time((between(1,64,_), compare(_, X, Y), fail; true)), fail; true. >>>
/* Unary Built-ins */
bench2 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), copy_term(X-Y,_), fail; true)),
time((between(1,64,_), term_variables(X-Y,_), fail; true)),
time((between(1,64,_), ground(X-Y), fail; true)),
time((between(1,64,_), acyclic_term(X-Y), fail; true)),
fail; true.
/* Misc Built-ins */
bench3 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), numbervars(X-Y,0,_), fail; true)),
fail; true.
```
Bye
Mild Shock schrieb:
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,--- Synchronet 3.21a-Linux NewsLink 1.2
Now I have the feeling that Trealla implements
the extreme of Jaffar's Unification, to the extend
that it keeps and trails functor linking? Was
studying the source of Trealla . Have also the
impression that it uses a very large native stack.
Is this trailing what gave it the name Trealla,
despite the geographic beach location with such a name ?
BTW: I have new benchmark results (*) = Dogelog:
Test | Java (*) | JavaScript (*) | Python (*) | Scryer | Trealla
-- | -- | -- | -- | -- | --
(=)/2 | 184 | 514 | 1750 | 210 | 53
unify_with_occurs_check/2 | 213 | 601 | 2344 | N/A | 53
(==)/2 | 95 | 227 | 1265 | 250 | 65
compare/3 | 86 | 221 | 1328 | 250 | 65
copy_term/2 | 409 | 589 | 2579 | 108 | N/A
term_variables/2 | 168 | 318 | 1469 | 166 | 90
ground/1 | 40 | 120 | 516 | 70 | 121
acyclic_term/1 | 129 | 290 | 1281 | 386 | N/A
numbervars/3 | 170 | 327 | 1516 | 164 | 100
Pitty `copy_term/2` and `acyclic_term/1` do not
yet work with a hydra example.
I am using a hydra variant, which puts less
pressure on the memory, but does benchmark
the built-ins in a loop, so that I see some
numbers. My problem was that Trealla was
below the 1 ms mesurememt:
```
hydra(0, _) :- !.
hydra(N, h(X, X)) :- N > 0, N0 is N-1, hydra(N0, X).
hydra(0, A, A) :- !.
hydra(N, h(X, X), A) :- N > 0, N0 is N-1, hydra(N0, X, A).
/* Binary Built-ins */
bench :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), X = Y, fail; true)),
time((between(1,64,_), unify_with_occurs_check(X, Y), fail; true)),
time((between(1,64,_), X == Y, fail; true)),
time((between(1,64,_), compare(_, X, Y), fail; true)), fail; true.
/* Unary Built-ins */
bench2 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), copy_term(X-Y,_), fail; true)),
time((between(1,64,_), term_variables(X-Y,_), fail; true)),
time((between(1,64,_), ground(X-Y), fail; true)),
time((between(1,64,_), acyclic_term(X-Y), fail; true)),
fail; true.
/* Misc Built-ins */
bench3 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), numbervars(X-Y,0,_), fail; true)),
fail; true.
```
Bye
Hi,--- Synchronet 3.21a-Linux NewsLink 1.2
Tricky problem, how validate unify_with_occurs_check/2 ?
If the two arguments S and T are acyclic terms, the
unify_with_occurs_check/2 can be simulated as follows:
/* simulation */
unify_with_occurs_check2(X, Y) :-
X = Y, acyclic_term(X).
It also shows that theoretically the problem can be
solved in quasi linear time, since (=)/2 is quasi linear
and acyclic_term/1 is linear.
Now I find that unify_with_occurs_check2/2 and
unify_with_occurs_check/2 do not agree in Trealla
Prolog. For this test case for example:
/* Trealla Prolog 2.83.11 */
/* built-in */
?- S = s(s(A,s(B,A)),1), T = s(s(C,C),1),
unify_with_occurs_check(S,T).
S = s(s(s(B,A),s(B,A)),1), A = s(B,A),
T = s(s(s(B,A),s(B,A)),1), C = s(B,A).
/* simulation */
?- S = s(s(A,s(B,A)),1), T = s(s(C,C),1),
unify_with_occurs_check2(S,T).
false.
One can also check with Scryer Prolog it has
also a different result for the pair S and T:
/* Scryer Prolog 0.10.0 */
/* built-in */
?- S = s(s(A,s(B,A)),1), T = s(s(C,C),1),
unify_with_occurs_check(S,T).
false.
Bye
Hi,
Information for Boris the Loris, chief grammar
Nazi of SWI-Prolog discourse. Here is a summary
of my No Fuzz(y) declaration for the
Trealla & Co. benchmarking from my previous post:
- No fuzzy logic involved.
Its all binary.
- No fuzzy testing involved.
Its all manual testing.
- No fuzz testing involved.
See above fuzzy testig.
- No fuzzing test involved.
See above fuzzy testig.
What about the American Fuzzy Lop (AFL),
a free software fuzzer:
https://en.wikipedia.org/wiki/American_Fuzzy_Lop_%28software%29
Or was a breed of rabbit, by the
the name American Fuzzy Lop involved?
https://en.wikipedia.org/wiki/American_Fuzzy_Lop
No neither of the 2 AFLs were involved.
Bye
Mild Shock schrieb:
Hi,
Now I have the feeling that Trealla implements
the extreme of Jaffar's Unification, to the extend
that it keeps and trails functor linking? Was
studying the source of Trealla . Have also the
impression that it uses a very large native stack.
Is this trailing what gave it the name Trealla,
despite the geographic beach location with such a name ?
BTW: I have new benchmark results (*) = Dogelog:
Test | Java (*) | JavaScript (*) | Python (*) | Scryer | Trealla
-- | -- | -- | -- | -- | --
(=)/2 | 184 | 514 | 1750 | 210 | 53
unify_with_occurs_check/2 | 213 | 601 | 2344 | N/A | 53
(==)/2 | 95 | 227 | 1265 | 250 | 65
compare/3 | 86 | 221 | 1328 | 250 | 65
copy_term/2 | 409 | 589 | 2579 | 108 | N/A
term_variables/2 | 168 | 318 | 1469 | 166 | 90
ground/1 | 40 | 120 | 516 | 70 | 121
acyclic_term/1 | 129 | 290 | 1281 | 386 | N/A
numbervars/3 | 170 | 327 | 1516 | 164 | 100
Pitty `copy_term/2` and `acyclic_term/1` do not
yet work with a hydra example.
I am using a hydra variant, which puts less
pressure on the memory, but does benchmark
the built-ins in a loop, so that I see some
numbers. My problem was that Trealla was
below the 1 ms mesurememt:
```
hydra(0, _) :- !.
hydra(N, h(X, X)) :- N > 0, N0 is N-1, hydra(N0, X).
hydra(0, A, A) :- !.
hydra(N, h(X, X), A) :- N > 0, N0 is N-1, hydra(N0, X, A).
/* Binary Built-ins */
bench :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), X = Y, fail; true)),
time((between(1,64,_), unify_with_occurs_check(X, Y), fail; true)), >> time((between(1,64,_), X == Y, fail; true)),
time((between(1,64,_), compare(_, X, Y), fail; true)), fail; true.
/* Unary Built-ins */
bench2 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), copy_term(X-Y,_), fail; true)),
time((between(1,64,_), term_variables(X-Y,_), fail; true)),
time((between(1,64,_), ground(X-Y), fail; true)),
time((between(1,64,_), acyclic_term(X-Y), fail; true)),
fail; true.
/* Misc Built-ins */
bench3 :-
hydra(65536, X), hydra(65536, Y, Y),
time((between(1,64,_), numbervars(X-Y,0,_), fail; true)),
fail; true.
```
Bye
Mild Shock schrieb:
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
This wasn't clear to me. That there is a
veritable war going on between Scryer Prolog
and Ciao Prolog. One protagonist
being Markus Triska, famous by the "Power
of Prolog", and the other protagonist Manuel
V. Hermenegildo somehow backed by the
Prolog education group (PEG) and SWI ? So who
will win the war, and exercise world domaninance
in constraint logic programming, based
on bogus notions such as "pure Prolog", which
are inherently inconsistent? The war is
mainly fought over teaching materials distributed,
less over tangible systems and applications.
Currently I would say the clear winner is
Markus Triska with 9 adoptions:
- As of 2018, Norbert Zeh
- As of 2018, Andrej Bauer
- As of 2018, José A. Alonso Jiménez
- As of 2019, Adam Dingle
- As of 2019, Dylan Schwesinger
- As of 2020, Andrea Schwertner Charão
- As of 2020, Alejandro Guerra Hernández
- As of 2021, Ilkka Kokkarinen
- As of 2025, Wang-Zhou Dai
https://github.com/triska/the-power-of-prolog
So it currently stands at 9:0 for Triska
vs Hermenegildo.
Bye
Mild Shock schrieb:
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
Pitty SWI cannot throw Markus Triska out of
their discourse forum or out of the awful
PIP forum also on discourse. He is not present there.
I am pretty sure they would do it if they
could, they are so desparate. The newest
gimmick in their fight is this pearl of warfare:
Our prototype has been implemented in SWI Prolog,
and we have already tested this early-stage system
with potential clients such as Siemens China and
Shell India. Comparison between Prolog systems as
input for the upcoming conference https://github.com/mthom/scryer-prolog/discussions/3150
LoL, nice try Dutchies. But who believes this
inbreed nonsense. Why not compare with some
industrial strength C++ constraint solver?
And what does Shell India even mean? Historically
it has its roots indeed with the Dutchies:
formerly known as "the Royal Dutch Company for
the Exploitation of Petroleum Wells in
the Dutch East Indies"
https://en.wikipedia.org/wiki/Shell_plc
But I suspect its an international company
with head quarters in London. According to
MarketScreener, about 52.95% of Shell is
held by “Institutional” investors.
Geographical Distribution (by Country) of
Major Shareholders. Based on MarketScreener’s
breakdown of the top ~1,000 shareholders:
United States ~23.6%
United Kingdom ~17.5%
Norway ~3.28%
Switzerland ~1.56%
Canada ~1.46%
Germany ~1.06%
According to MarketScreener’s breakdown of
Shell’s top ~1,000 shareholders, India is
not listed explicitly in their “geographical
origin of shareholders” chart.
MarketScreener reports that ~44–45% of
Shell’s shares (within their top-1,000-holder
data set) are “Unknown” — meaning they can’t
clearly map them to a specific
institution or geography.
Because of that, even if some Indian investors
hold Shell shares, they may be lumped into
the “unknown” category if they aren’t among
the largest disclosed institutional holders,
or if their holdings are registered through
nominee accounts / omnibus custodians.
Bye
P.S.: Just be happy to get called Dutchies:
"Be happy they call you Dutchies, usually
we Easter Europeans get called Alocoholics
or thieves around these regions lol" https://www.reddit.com/r/Netherlands/comments/1ehqy3a/calling_us_dutch_people_dutchies/
Mild Shock schrieb:
Hi,
Who will win the new Prolog race?
SWI or Scryer? Is it enough that SWI-Prolog
has teamed up with Ciao Prolog?
What about resources that really can
code a Prolog systems. SWI-Prolog is
now doomed to have professional moron
Julio Di Egidio on board. Not sure whether
he will ever become a heavy committer to
SWI-Prolog source. But who knows, we should
also give Julio Di Egidio a chance. My
gut feeling at the moment:
- SWI-Prolog:
Pull Requests 10 Open / 560 Closed
- Scryer Prolog:
Pull Requests 40 Open / 751 Closed
In the past I would measure active committers.
But the new "liveness" indicator of a Prolog
system could be indeed Pull Requests.
So who will win?
P.S.: Data sources:
https://github.com/mthom/scryer-prolog/pulls
https://github.com/SWI-Prolog/swipl-devel/pulls
Hi,
There was this caboom when SWI7 introduced
dicts. But at the same time Markus Triska (Side B)
stopped contributing to SWI (Side A) ?
Side A now stands at a precarious crossroads,
its future hinging on innovations whose success
is far from guaranteed. The irony is striking:
the very battle consuming its attention is fought
over familiar, time-tested techniques,
while the exotic approaches that once promised
differentiation remain unproven. Compounding
the dilemma, one of Side A’s original core
developers—who helped shape its early trajectory—
is now contributing to Side B’s efforts,
carrying insight and experience that subtly
tilt the balance. The technical debt that
arose from earlier choices to diverge from
standard practices or established collaborations
is still manageable, yet it lingers like a
quiet undercurrent, shaping both strategy
and execution. This is a story of ambition and
ingenuity, but also of hubris: of how the
pursuit of the novel and exotic can, paradoxically,
leave an organization vulnerable, even as it bets
on a future that may or may not arrive.
- ChatGPT, 24.11.2025
Bye
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,090 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 159:53:09 |
| Calls: | 13,922 |
| Files: | 187,021 |
| D/L today: |
888 files (250M bytes) |
| Messages: | 2,457,303 |