Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

I came, I saw, I deleted all your files.


devel / comp.lang.prolog / Re: Preventing further Brainwash by Logtalk

SubjectAuthor
* Re: Preventing further Brainwash by LogtalkMostowski Collapse
`* Re: Preventing further Brainwash by LogtalkMostowski Collapse
 `- Re: Preventing further Brainwash by LogtalkMostowski Collapse

1
Re: Preventing further Brainwash by Logtalk

<ea65f7ac-8500-499a-ad56-cb47e83fca18n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2026&group=comp.lang.prolog#2026

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:7f0d:0:b0:3e6:2fab:675 with SMTP id f13-20020ac87f0d000000b003e62fab0675mr7203413qtk.9.1683812628530;
Thu, 11 May 2023 06:43:48 -0700 (PDT)
X-Received: by 2002:a25:664d:0:b0:b92:5a75:9f55 with SMTP id
z13-20020a25664d000000b00b925a759f55mr13118464ybm.1.1683812628147; Thu, 11
May 2023 06:43:48 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.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: Thu, 11 May 2023 06:43:47 -0700 (PDT)
In-Reply-To: <57db9e9e-bb7c-407b-a448-f5c116cabe53@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <57db9e9e-bb7c-407b-a448-f5c116cabe53@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ea65f7ac-8500-499a-ad56-cb47e83fca18n@googlegroups.com>
Subject: Re: Preventing further Brainwash by Logtalk
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 11 May 2023 13:43:48 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2290
 by: Mostowski Collapse - Thu, 11 May 2023 13:43 UTC

I always thought these new type systems only provide gradual
typing. But a keyword here seems to be flow sensitive typing(**). And
there are more players in town:

Microsoft: Typescript
Facebook: Flow(***)
What else?

Flow has funny things like an exact object type {| .. |}. A straight
forward Prolog “linter”(*) isn’t flow sensitive, since it wouldn’t validate
different types along disjunction or if-then-else branches?

(*) Logtalk even barks on disjunctions?
Clauses whose body is a disjunction
https://logtalk.org/manuals/devtools/linter.html

(**)
Flow-sensitive typing
https://en.wikipedia.org/wiki/Flow-sensitive_typing

(***)
Flow vs TypeScript: Which is Better in 2023?
https://www.scalablepath.com/javascript/flow-vs-typescript

Mostowski Collapse schrieb am Mittwoch, 12. September 2018 um 21:28:29 UTC+2:
> As a last note, thanks for all your publicity
> on Logtalk. There's true in the saying that
> there isn't such thing as bad publicity!

Re: Preventing further Brainwash by Logtalk

<9e614c08-aab2-4396-aa41-1659bf5dc562n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2029&group=comp.lang.prolog#2029

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:1790:b0:74f:693a:d48e with SMTP id ay16-20020a05620a179000b0074f693ad48emr9507616qkb.11.1683985921475;
Sat, 13 May 2023 06:52:01 -0700 (PDT)
X-Received: by 2002:a81:4522:0:b0:560:bb40:cd40 with SMTP id
s34-20020a814522000000b00560bb40cd40mr9732061ywa.8.1683985921207; Sat, 13 May
2023 06:52:01 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.chmurka.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: Sat, 13 May 2023 06:52:00 -0700 (PDT)
In-Reply-To: <ea65f7ac-8500-499a-ad56-cb47e83fca18n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <57db9e9e-bb7c-407b-a448-f5c116cabe53@googlegroups.com> <ea65f7ac-8500-499a-ad56-cb47e83fca18n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9e614c08-aab2-4396-aa41-1659bf5dc562n@googlegroups.com>
Subject: Re: Preventing further Brainwash by Logtalk
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 13 May 2023 13:52:01 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2179
 by: Mostowski Collapse - Sat, 13 May 2023 13:52 UTC

Ha Ha, twice nonsense doesn't give something Ok.
Now Logtalk has this implemention:

variant(Term1, Term2) :-
\+ \+ subsumes_term(Term1, Term2),
\+ \+ subsumes_term(Term2, Term1).
https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/term.lgt#L102

Spot the 2 errors. Here are the errors:

Error 1: There is no need for garbage collection \+ \+ in
subsumes_term/2. It does already undo its bindings.
Thats the difference between subsumes/2 and subsumes_term/2,

that subsumes_term/2 does not leave some bindings,
is only a test predicate.
See also here:

On success, the bindings are undone.
https://www.swi-prolog.org/pldoc/man?predicate=subsumes_term/2

Error 2: According to Ulrich Neumerkels account
here this is only half correct. There is a copy_term/2
missing:

variant_correct(A, B) :-
copy_term(A, AC),
subsumes_term(AC, B),
subsumes_term(B, AC).
https://www.complang.tuwien.ac.at/ulrich/iso-prolog/built-in_predicates

Re: Preventing further Brainwash by Logtalk

<0ad52a62-f589-4b93-8e9d-16d98b57b478n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=2030&group=comp.lang.prolog#2030

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:45a7:b0:759:3149:b430 with SMTP id bp39-20020a05620a45a700b007593149b430mr673854qkb.1.1683986085163;
Sat, 13 May 2023 06:54:45 -0700 (PDT)
X-Received: by 2002:a25:5b84:0:b0:ba2:da66:3d37 with SMTP id
p126-20020a255b84000000b00ba2da663d37mr8881970ybb.10.1683986084926; Sat, 13
May 2023 06:54:44 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!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: Sat, 13 May 2023 06:54:44 -0700 (PDT)
In-Reply-To: <9e614c08-aab2-4396-aa41-1659bf5dc562n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <57db9e9e-bb7c-407b-a448-f5c116cabe53@googlegroups.com>
<ea65f7ac-8500-499a-ad56-cb47e83fca18n@googlegroups.com> <9e614c08-aab2-4396-aa41-1659bf5dc562n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0ad52a62-f589-4b93-8e9d-16d98b57b478n@googlegroups.com>
Subject: Re: Preventing further Brainwash by Logtalk
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 13 May 2023 13:54:45 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 47
 by: Mostowski Collapse - Sat, 13 May 2023 13:54 UTC

In as far this Quintus adapter is nonsense:

subsumes_term(General, Specific) :-
subsumes(General, Specific).
https://github.com/LogtalkDotOrg/logtalk3/blob/master/adapters/quintus.pl#L255

SICStus Prolog tells me it should be either:

subsumes_term(General, Specific) :-
subsumes_chk(General, Specific).

Or then this here:

subsumes_term(General, Specific) :-
\+ \+ subsumes(General, Specific).
https://quintus.sics.se/isl/quintus/html/quintus/lib-tma-subsumes.html

Mostowski Collapse schrieb am Samstag, 13. Mai 2023 um 15:52:02 UTC+2:
> Ha Ha, twice nonsense doesn't give something Ok.
> Now Logtalk has this implemention:
>
> variant(Term1, Term2) :-
> \+ \+ subsumes_term(Term1, Term2),
> \+ \+ subsumes_term(Term2, Term1).
> https://github.com/LogtalkDotOrg/logtalk3/blob/master/library/types/term.lgt#L102
>
> Spot the 2 errors. Here are the errors:
>
> Error 1: There is no need for garbage collection \+ \+ in
> subsumes_term/2. It does already undo its bindings.
> Thats the difference between subsumes/2 and subsumes_term/2,
>
> that subsumes_term/2 does not leave some bindings,
> is only a test predicate.
> See also here:
>
> On success, the bindings are undone.
> https://www.swi-prolog.org/pldoc/man?predicate=subsumes_term/2
>
> Error 2: According to Ulrich Neumerkels account
> here this is only half correct. There is a copy_term/2
> missing:
>
> variant_correct(A, B) :-
> copy_term(A, AC),
> subsumes_term(AC, B),
> subsumes_term(B, AC).
> https://www.complang.tuwien.ac.at/ulrich/iso-prolog/built-in_predicates

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor