v4.10.2
27: *
segv
l(0).
l(N0) :-
l(N1),
N0 is N1+1.
?- l(N).
N = 0
; N = 1
; N = 2
; N = 3
; N = 4Segmentation fault (core dumped)
25: *
$-ambiguities
s#366
24: *
Valid term rejected
nihil --> [].
This is a valid term, even if you do not have any DCG support. It
should be at least a fact.
v4.10.1
number_chars/2 passes all current tests
23: *
Operator '|' needed for DCGs
Definite Clause Grammars are defined in 13211-3, they have the bar
operator defined. Including them by default does make a lot of sense.
Also quads need this operator defined in that way.
v4.9.18 no progress for number_chars/2
22: *
Minor big integer problem
#7,
#8.
?- N is 2^63, functor(_,f,N).
error(type_error(integer,9223372036854775808),functor/3), unexpected.
type_error(...,...), unexpected. % any type error is bad
?- N is 2^63, arg(N,f(1),_).
error(type_error(integer,9223372036854775808),arg/3), unexpected.
false. % expected, but not found
21: *
Output in quads
For simple output there is outputs/1 with a grammar
rule body as argument. To start with, a list of characters will do.
?- call((write(3), call(1)).
outputs("3"),
type_error(callable, 1).
Compare this to the original example in 7.8.3.4:
call((write(3), call(1)).
Outputs '3', then
type_error(callable, 1).
So it's outputs not output. The comma has here the meaning and
then. Answer constraints and answer substitutions come last in a
leaf-answer. (Unclear, if there are situations to put them first.
Maybe if constraints and side effects are involved. But this gets way
too complex.)
?- Ch = t, put_char(Ch).
outputs("t"),
Ch = t.
20: *
sub_string/5 unusual
Why the same as sub_atom/5? If (at all), it might be defined over
strings (lists of chars).
19: *
length/2
l#1, l#4 ...
And the actual quads are here.
v4.9.13
v4.9.8
v4.9.6
v4.9.3
v4.9.0
For the moment, I will stop testing Flowlog, since the most
elementary items are ignored. I will look
at s#1 only and
update other issues only after this has been addressed.
17: *
append/3 and double quotes entirely disfunctional
?- append("ab","cd",L).
false, unexpected.
L = "abcd". % expected, but not found
?- append([],Ys,Zs).
Segmentation fault (core dumped)
Ys = Zs. % expected, but not found
?- append("a",Ys,Zs).
false, unexpected.
?- member(X,"a").
false, unexpected.
?- member(X,[a]).
X = a.
?- [X] = "a".
X = a.
cons([_|_]).
?- cons("a").
false, unexpected.
v4.8.0
v4.7.2
v4.7.1
v4.6.14
v4.6.13
v4.6.10
v4.6.8
v4.6.6
11: *
append/3
does not work
(Example from the Prolog prologue)
?- append([a], Ys, Zs).
Segmentation fault (core dumped), unexpected.
Zs = [a|Ys]. % expected, but not found
Ys = _1, Zs = [a|_2], unexpected.
(above with default. Does work with interp. With wam:)
?- append([a], Ys, Zs).
Ys = Xs, Zs = [a|Xs], unexpected.
Where does Xs come from?
v4.6.5
9: *
git clone problem with old system
ulrich@p0:/tmp$ git clone https://git.liminal.cafe/byakuren/flowlog.git
Cloning into 'flowlog'...
fatal: unable to access 'https://git.liminal.cafe/byakuren/flowlog.git/': gnutls_handshake() failed: Handshake failed
ulrich@p0:/tmp$ cat /etc/issue
Ubuntu 14.04.6 LTS \n \l
This does not happen with github. There I follow various systems like
Scryer, Trealla.
5: *
testing number_chars/2
Because of #3 and #4, I cannot Now I use
the current test table,
so I resorted to like the old one.
Please go through it. (Numbers are the same) Problems start
with
#9,
#17,
#21.
ulrich@gupu:/opt/gupu/flowlog$ ./flowlog
Flowlog (pthreads)
Type 'help.' for help, 'halt.' to exit.
?- number_chars(1,[_,[]]).
error(instantiation_error,/(number_chars,2)), unexpected.
type_error(character,[]). % expected, but not found
?- number_chars(N,['3',.]).
N = 3.0, unexpected.
syntax_error(...). % expected, but not found
?- number_chars(N,[-,' ','1']).
flowlog: fatal error (240): flowlog: unexpected token while parsing term
2: *
compilation on older system does not work
ulrich@p0:/opt/gupu/flowlog$ make
cc -O2 -Wall -Wextra -pthread flowlog.c -lm -o flowlog
flowlog.c:41:23: fatal error: stdatomic.h: No such file or directory
#include
^
compilation terminated.
make: *** [flowlog] Error 1
ulrich@p0:/opt/gupu/flowlog$ cc --version
cc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Installation:
wget https://web.liminal.cafe/~byakuren/flowlog/flowlog.tar.gz
git clone https://git.liminal.cafe/byakuren/flowlog.git
make
Apache/2.4.67 (Debian) OpenSSL/3.0.18 Server at www.complang.tuwien.ac.at Port 443