Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Science and religion are in full accord but science and faith are in complete discord.


devel / comp.lang.prolog / Re: Summary of ISO draft - Help me find my mistakes

SubjectAuthor
* Summary of ISO draft - Help me find my mistakesMild Shock
`* Summary of ISO draft - Help me find my mistakesMild Shock
 `* Summary of ISO draft - Help me find my mistakesMild Shock
  `* Summary of ISO draft - Help me find my mistakesMild Shock
   `- Summary of ISO draft - Help me find my mistakesMild Shock

1
Re: Summary of ISO draft - Help me find my mistakes

<947c613f-6bd6-4d5b-9802-44c415c19a4dn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2818&group=comp.lang.prolog#2818

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:15b:b0:774:f02:7e59 with SMTP id e27-20020a05620a015b00b007740f027e59mr33350qkn.11.1695932237339;
Thu, 28 Sep 2023 13:17:17 -0700 (PDT)
X-Received: by 2002:a05:6871:6a8a:b0:1dc:dbb0:60aa with SMTP id
zf10-20020a0568716a8a00b001dcdbb060aamr921364oab.6.1695932237067; Thu, 28 Sep
2023 13:17:17 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 28 Sep 2023 13:17:16 -0700 (PDT)
In-Reply-To: <C8JKvH.GC1@athena.cs.uga.edu>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <C8JKvH.GC1@athena.cs.uga.edu>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <947c613f-6bd6-4d5b-9802-44c415c19a4dn@googlegroups.com>
Subject: Re: Summary of ISO draft - Help me find my mistakes
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Thu, 28 Sep 2023 20:17:17 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2434
 by: Mild Shock - Thu, 28 Sep 2023 20:17 UTC

I guess it doesn't have term_singletons/2 in it, right?
Its pretty difficult to implement, even Ulrich Neumerkel
doesn't know a linear algorithm for this:

/* SWI-Prolog 9.1.16 */
bomb(0, 1) :- !.
bomb(N, (X+X)) :- M is N-1, bomb(M, X)

?- between(23,27,N), bomb(N,X),
time(term_singletons(X,_)), fail; true.
% -1 inferences, 0.078 CPU in 0.074 seconds (106% CPU, -13 Lips)
% -1 inferences, 0.141 CPU in 0.153 seconds (92% CPU, -7 Lips)
% -1 inferences, 0.328 CPU in 0.322 seconds (102% CPU, -3 Lips)
% -1 inferences, 0.672 CPU in 0.667 seconds (101% CPU, -1 Lips)
% -1 inferences, 1.344 CPU in 1.350 seconds (100% CPU, -1 Lips)
true.

I got an idea with my variable spines, if they would have
a singleton marking itself. If you have a spine, i.e. the
the variables of a term before instantiation, and if you

have singleton information in this spine already, I guess
you only to visit the singletons in the spine, to collect the
singletons. But maybe its too late to experiment with such

a solution. Also spines, which are available in formerly Jekejeke
Prolog, and can be already determined at compile time,
didn't make it into Dogelog Player. So maybe another solution?

Michael Covington schrieb am Sonntag, 13. Juni 1993 um 06:09:17 UTC+2:
> Below is a LaTeX document that will eventually be an appendix to

Re: Summary of ISO draft - Help me find my mistakes

<23514d93-4a65-4c49-a611-947966f9e089n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2819&group=comp.lang.prolog#2819

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:1a10:b0:418:9fd:a9b2 with SMTP id f16-20020a05622a1a1000b0041809fda9b2mr29150qtb.8.1695932623980;
Thu, 28 Sep 2023 13:23:43 -0700 (PDT)
X-Received: by 2002:a05:6830:6b87:b0:6be:e5f5:a05e with SMTP id
dd7-20020a0568306b8700b006bee5f5a05emr598505otb.6.1695932623670; Thu, 28 Sep
2023 13:23:43 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 28 Sep 2023 13:23:43 -0700 (PDT)
In-Reply-To: <947c613f-6bd6-4d5b-9802-44c415c19a4dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <C8JKvH.GC1@athena.cs.uga.edu> <947c613f-6bd6-4d5b-9802-44c415c19a4dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <23514d93-4a65-4c49-a611-947966f9e089n@googlegroups.com>
Subject: Re: Summary of ISO draft - Help me find my mistakes
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Thu, 28 Sep 2023 20:23:43 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3240
 by: Mild Shock - Thu, 28 Sep 2023 20:23 UTC

Also singleton information is useful to optimize away
the occurs check. I did some experiments in the past and
there also papers which communicate these ideas.

Until I discovered a way to do some occurs check optimization
based on another idea, completely dynamical at runtime,
without some compiletime analysis, which is now available in

formerly Jekejeke Prolog. But again, none of this made
it into Dogelog Player, which has only a traditional very
basic unify_with_occurs_check/2 built-in, but no

occurs check flag at all that would influence (=)/2.

Mild Shock schrieb am Donnerstag, 28. September 2023 um 22:17:19 UTC+2:
> I guess it doesn't have term_singletons/2 in it, right?
> Its pretty difficult to implement, even Ulrich Neumerkel
> doesn't know a linear algorithm for this:
>
> /* SWI-Prolog 9.1.16 */
> bomb(0, 1) :- !.
> bomb(N, (X+X)) :- M is N-1, bomb(M, X)
>
> ?- between(23,27,N), bomb(N,X),
> time(term_singletons(X,_)), fail; true.
> % -1 inferences, 0.078 CPU in 0.074 seconds (106% CPU, -13 Lips)
> % -1 inferences, 0.141 CPU in 0.153 seconds (92% CPU, -7 Lips)
> % -1 inferences, 0.328 CPU in 0.322 seconds (102% CPU, -3 Lips)
> % -1 inferences, 0.672 CPU in 0.667 seconds (101% CPU, -1 Lips)
> % -1 inferences, 1.344 CPU in 1.350 seconds (100% CPU, -1 Lips)
> true.
>
> I got an idea with my variable spines, if they would have
> a singleton marking itself. If you have a spine, i.e. the
> the variables of a term before instantiation, and if you
>
> have singleton information in this spine already, I guess
> you only to visit the singletons in the spine, to collect the
> singletons. But maybe its too late to experiment with such
>
> a solution. Also spines, which are available in formerly Jekejeke
> Prolog, and can be already determined at compile time,
> didn't make it into Dogelog Player. So maybe another solution?
>
> Michael Covington schrieb am Sonntag, 13. Juni 1993 um 06:09:17 UTC+2:
> > Below is a LaTeX document that will eventually be an appendix to

Re: Summary of ISO draft - Help me find my mistakes

<78d37990-4dbf-45a7-b48e-b70622588d11n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2820&group=comp.lang.prolog#2820

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:5b04:0:b0:412:191c:ff0 with SMTP id m4-20020ac85b04000000b00412191c0ff0mr37607qtw.1.1695971737829;
Fri, 29 Sep 2023 00:15:37 -0700 (PDT)
X-Received: by 2002:a05:6820:1687:b0:56d:72ca:c4dc with SMTP id
bc7-20020a056820168700b0056d72cac4dcmr1084025oob.0.1695971737428; Fri, 29 Sep
2023 00:15:37 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!feeder.erje.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Fri, 29 Sep 2023 00:15:37 -0700 (PDT)
In-Reply-To: <23514d93-4a65-4c49-a611-947966f9e089n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <C8JKvH.GC1@athena.cs.uga.edu> <947c613f-6bd6-4d5b-9802-44c415c19a4dn@googlegroups.com>
<23514d93-4a65-4c49-a611-947966f9e089n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <78d37990-4dbf-45a7-b48e-b70622588d11n@googlegroups.com>
Subject: Re: Summary of ISO draft - Help me find my mistakes
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Fri, 29 Sep 2023 07:15:37 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3791
 by: Mild Shock - Fri, 29 Sep 2023 07:15 UTC

Woa! Ulrich Neumerkel is really lost. Its shows me again:
"Error 404, brain not found". Is he really asking:

More and more Prolog systems: Which systems?
Which three other Prolog systems?

For a start:

https://www.swi-prolog.org/pldoc/man?predicate=term_singletons/2
https://github.com/trealla-prolog/trealla

Mild Shock schrieb am Donnerstag, 28. September 2023 um 22:23:45 UTC+2:
> Also singleton information is useful to optimize away
> the occurs check. I did some experiments in the past and
> there also papers which communicate these ideas.
>
> Until I discovered a way to do some occurs check optimization
> based on another idea, completely dynamical at runtime,
> without some compiletime analysis, which is now available in
>
> formerly Jekejeke Prolog. But again, none of this made
> it into Dogelog Player, which has only a traditional very
> basic unify_with_occurs_check/2 built-in, but no
>
> occurs check flag at all that would influence (=)/2.
> Mild Shock schrieb am Donnerstag, 28. September 2023 um 22:17:19 UTC+2:
> > I guess it doesn't have term_singletons/2 in it, right?
> > Its pretty difficult to implement, even Ulrich Neumerkel
> > doesn't know a linear algorithm for this:
> >
> > /* SWI-Prolog 9.1.16 */
> > bomb(0, 1) :- !.
> > bomb(N, (X+X)) :- M is N-1, bomb(M, X)
> >
> > ?- between(23,27,N), bomb(N,X),
> > time(term_singletons(X,_)), fail; true.
> > % -1 inferences, 0.078 CPU in 0.074 seconds (106% CPU, -13 Lips)
> > % -1 inferences, 0.141 CPU in 0.153 seconds (92% CPU, -7 Lips)
> > % -1 inferences, 0.328 CPU in 0.322 seconds (102% CPU, -3 Lips)
> > % -1 inferences, 0.672 CPU in 0.667 seconds (101% CPU, -1 Lips)
> > % -1 inferences, 1.344 CPU in 1.350 seconds (100% CPU, -1 Lips)
> > true.
> >
> > I got an idea with my variable spines, if they would have
> > a singleton marking itself. If you have a spine, i.e. the
> > the variables of a term before instantiation, and if you
> >
> > have singleton information in this spine already, I guess
> > you only to visit the singletons in the spine, to collect the
> > singletons. But maybe its too late to experiment with such
> >
> > a solution. Also spines, which are available in formerly Jekejeke
> > Prolog, and can be already determined at compile time,
> > didn't make it into Dogelog Player. So maybe another solution?
> >
> > Michael Covington schrieb am Sonntag, 13. Juni 1993 um 06:09:17 UTC+2:
> > > Below is a LaTeX document that will eventually be an appendix to

Re: Summary of ISO draft - Help me find my mistakes

<fa127b24-b1b4-4a03-9be0-ac1c1018bf78n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2821&group=comp.lang.prolog#2821

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:199d:b0:417:b909:22d with SMTP id u29-20020a05622a199d00b00417b909022dmr37874qtc.6.1695971903291;
Fri, 29 Sep 2023 00:18:23 -0700 (PDT)
X-Received: by 2002:a05:6871:6a95:b0:1c8:c0ce:5f34 with SMTP id
zf21-20020a0568716a9500b001c8c0ce5f34mr1236941oab.11.1695971903020; Fri, 29
Sep 2023 00:18:23 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.niel.me!glou.org!news.glou.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Fri, 29 Sep 2023 00:18:22 -0700 (PDT)
In-Reply-To: <78d37990-4dbf-45a7-b48e-b70622588d11n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <C8JKvH.GC1@athena.cs.uga.edu> <947c613f-6bd6-4d5b-9802-44c415c19a4dn@googlegroups.com>
<23514d93-4a65-4c49-a611-947966f9e089n@googlegroups.com> <78d37990-4dbf-45a7-b48e-b70622588d11n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fa127b24-b1b4-4a03-9be0-ac1c1018bf78n@googlegroups.com>
Subject: Re: Summary of ISO draft - Help me find my mistakes
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Fri, 29 Sep 2023 07:18:23 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mild Shock - Fri, 29 Sep 2023 07:18 UTC

But this is a genious test case:

marquee(L,M) :-
append(L,R,LD),
append(R,M,LD).

I was rather thinking about:

marquee2(L,M) :-
repeat,
append(A,B,L),
append(B,A,M).

marquee2/2 obviously can run indefinitely. But can your Prolog
system run marquee/2 also indefinitely, like here:

?- marquee("prolog", _), fail; true.

Mild Shock schrieb am Freitag, 29. September 2023 um 09:15:39 UTC+2:
> Woa! Ulrich Neumerkel is really lost. Its shows me again:
> "Error 404, brain not found". Is he really asking:
>
> More and more Prolog systems: Which systems?
> Which three other Prolog systems?
>
> For a start:
>
> https://www.swi-prolog.org/pldoc/man?predicate=term_singletons/2
> https://github.com/trealla-prolog/trealla
> Mild Shock schrieb am Donnerstag, 28. September 2023 um 22:23:45 UTC+2:
> > Also singleton information is useful to optimize away
> > the occurs check. I did some experiments in the past and
> > there also papers which communicate these ideas.
> >
> > Until I discovered a way to do some occurs check optimization
> > based on another idea, completely dynamical at runtime,
> > without some compiletime analysis, which is now available in
> >
> > formerly Jekejeke Prolog. But again, none of this made
> > it into Dogelog Player, which has only a traditional very
> > basic unify_with_occurs_check/2 built-in, but no
> >
> > occurs check flag at all that would influence (=)/2.
> > Mild Shock schrieb am Donnerstag, 28. September 2023 um 22:17:19 UTC+2:
> > > I guess it doesn't have term_singletons/2 in it, right?
> > > Its pretty difficult to implement, even Ulrich Neumerkel
> > > doesn't know a linear algorithm for this:
> > >
> > > /* SWI-Prolog 9.1.16 */
> > > bomb(0, 1) :- !.
> > > bomb(N, (X+X)) :- M is N-1, bomb(M, X)
> > >
> > > ?- between(23,27,N), bomb(N,X),
> > > time(term_singletons(X,_)), fail; true.
> > > % -1 inferences, 0.078 CPU in 0.074 seconds (106% CPU, -13 Lips)
> > > % -1 inferences, 0.141 CPU in 0.153 seconds (92% CPU, -7 Lips)
> > > % -1 inferences, 0.328 CPU in 0.322 seconds (102% CPU, -3 Lips)
> > > % -1 inferences, 0.672 CPU in 0.667 seconds (101% CPU, -1 Lips)
> > > % -1 inferences, 1.344 CPU in 1.350 seconds (100% CPU, -1 Lips)
> > > true.
> > >
> > > I got an idea with my variable spines, if they would have
> > > a singleton marking itself. If you have a spine, i.e. the
> > > the variables of a term before instantiation, and if you
> > >
> > > have singleton information in this spine already, I guess
> > > you only to visit the singletons in the spine, to collect the
> > > singletons. But maybe its too late to experiment with such
> > >
> > > a solution. Also spines, which are available in formerly Jekejeke
> > > Prolog, and can be already determined at compile time,
> > > didn't make it into Dogelog Player. So maybe another solution?
> > >
> > > Michael Covington schrieb am Sonntag, 13. Juni 1993 um 06:09:17 UTC+2:
> > > > Below is a LaTeX document that will eventually be an appendix to

Re: Summary of ISO draft - Help me find my mistakes

<262f164c-392a-4095-9326-3602a043737cn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=2822&group=comp.lang.prolog#2822

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:b23:b0:63c:f62c:45dd with SMTP id w3-20020a0562140b2300b0063cf62c45ddmr51682qvj.5.1695972033704;
Fri, 29 Sep 2023 00:20:33 -0700 (PDT)
X-Received: by 2002:a9d:6955:0:b0:6bd:b0c9:a90 with SMTP id
p21-20020a9d6955000000b006bdb0c90a90mr1019728oto.4.1695972033432; Fri, 29 Sep
2023 00:20:33 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Fri, 29 Sep 2023 00:20:33 -0700 (PDT)
In-Reply-To: <fa127b24-b1b4-4a03-9be0-ac1c1018bf78n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.50.239; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.50.239
References: <C8JKvH.GC1@athena.cs.uga.edu> <947c613f-6bd6-4d5b-9802-44c415c19a4dn@googlegroups.com>
<23514d93-4a65-4c49-a611-947966f9e089n@googlegroups.com> <78d37990-4dbf-45a7-b48e-b70622588d11n@googlegroups.com>
<fa127b24-b1b4-4a03-9be0-ac1c1018bf78n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <262f164c-392a-4095-9326-3602a043737cn@googlegroups.com>
Subject: Re: Summary of ISO draft - Help me find my mistakes
From: bursejan@gmail.com (Mild Shock)
Injection-Date: Fri, 29 Sep 2023 07:20:33 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 86
 by: Mild Shock - Fri, 29 Sep 2023 07:20 UTC

A better test case is this query:

?- append(Y, X, [1,2,3|Y]), fail; true.

Versus this query:

test(X) :- append(Y, X, [1,2,3|Y]).
?- test(X), fail; true.

Which one runs indefinitely in a Prolog system with
good last call optimization? And why?

Mild Shock schrieb am Freitag, 29. September 2023 um 09:18:24 UTC+2:
> But this is a genious test case:
>
> marquee(L,M) :-
> append(L,R,LD),
> append(R,M,LD).
>
> I was rather thinking about:
>
> marquee2(L,M) :-
> repeat,
> append(A,B,L),
> append(B,A,M).
>
> marquee2/2 obviously can run indefinitely. But can your Prolog
> system run marquee/2 also indefinitely, like here:
>
> ?- marquee("prolog", _), fail; true.
> Mild Shock schrieb am Freitag, 29. September 2023 um 09:15:39 UTC+2:
> > Woa! Ulrich Neumerkel is really lost. Its shows me again:
> > "Error 404, brain not found". Is he really asking:
> >
> > More and more Prolog systems: Which systems?
> > Which three other Prolog systems?
> >
> > For a start:
> >
> > https://www.swi-prolog.org/pldoc/man?predicate=term_singletons/2
> > https://github.com/trealla-prolog/trealla
> > Mild Shock schrieb am Donnerstag, 28. September 2023 um 22:23:45 UTC+2:
> > > Also singleton information is useful to optimize away
> > > the occurs check. I did some experiments in the past and
> > > there also papers which communicate these ideas.
> > >
> > > Until I discovered a way to do some occurs check optimization
> > > based on another idea, completely dynamical at runtime,
> > > without some compiletime analysis, which is now available in
> > >
> > > formerly Jekejeke Prolog. But again, none of this made
> > > it into Dogelog Player, which has only a traditional very
> > > basic unify_with_occurs_check/2 built-in, but no
> > >
> > > occurs check flag at all that would influence (=)/2.
> > > Mild Shock schrieb am Donnerstag, 28. September 2023 um 22:17:19 UTC+2:
> > > > I guess it doesn't have term_singletons/2 in it, right?
> > > > Its pretty difficult to implement, even Ulrich Neumerkel
> > > > doesn't know a linear algorithm for this:
> > > >
> > > > /* SWI-Prolog 9.1.16 */
> > > > bomb(0, 1) :- !.
> > > > bomb(N, (X+X)) :- M is N-1, bomb(M, X)
> > > >
> > > > ?- between(23,27,N), bomb(N,X),
> > > > time(term_singletons(X,_)), fail; true.
> > > > % -1 inferences, 0.078 CPU in 0.074 seconds (106% CPU, -13 Lips)
> > > > % -1 inferences, 0.141 CPU in 0.153 seconds (92% CPU, -7 Lips)
> > > > % -1 inferences, 0.328 CPU in 0.322 seconds (102% CPU, -3 Lips)
> > > > % -1 inferences, 0.672 CPU in 0.667 seconds (101% CPU, -1 Lips)
> > > > % -1 inferences, 1.344 CPU in 1.350 seconds (100% CPU, -1 Lips)
> > > > true.
> > > >
> > > > I got an idea with my variable spines, if they would have
> > > > a singleton marking itself. If you have a spine, i.e. the
> > > > the variables of a term before instantiation, and if you
> > > >
> > > > have singleton information in this spine already, I guess
> > > > you only to visit the singletons in the spine, to collect the
> > > > singletons. But maybe its too late to experiment with such
> > > >
> > > > a solution. Also spines, which are available in formerly Jekejeke
> > > > Prolog, and can be already determined at compile time,
> > > > didn't make it into Dogelog Player. So maybe another solution?
> > > >
> > > > Michael Covington schrieb am Sonntag, 13. Juni 1993 um 06:09:17 UTC+2:
> > > > > Below is a LaTeX document that will eventually be an appendix to

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor