Re: singleton variable in branch ?

Carlo Capelli <[email protected]>
Newsgroups gmane.comp.ai.prolog.swi
Message-ID <CABty9wzw_96kPmXa+ODgbOtsiyh5BrfnPOTMtxFnYtB4T00weA@mail.gmail.com>
I must be blind, sometime...So obvious...

I really have another better definition of task at hand, then I didn't
debugged it in any depth...

Thanks all



2014-03-01 9:49 GMT+01:00 Jan Wielemaker <[email protected]>:

> On 03/01/2014 09:27 AM, Jochem Liem wrote:
> > The singleton is in the second branch (subsynset). Adding a '_' makes
> > the warning go away.
> >
> > subsynset(Sub, Super) :-
> >    s(I,_,Sub,Kind,_,_),
> >    (
> >       hyp(I, J) ->
> >       s(J,_,Hyp,Kind,_,_),
> >       Hyp = Super
> >    ;
> >       subsynset(_Hyp, Super)
> >    ).
>
> YIP.  For your understanding, a `singleton in a branch' is a variable
> that is syntactically not a singleton (appears in multiple places in
> the term), but does not transfer a binding from one goal-argument to
> another.  That turns it in to `a semantic singleton'.  If anyone has
> better wording for this warning, please share it.  Do take them
> seriously; in my experience well over half of them indicate real
> bugs.
>
>         Cheers --- Jan
>
> >
> > - Jochem
> >
> > On Sat, Mar 1, 2014 at 9:37 AM, Carlo Capelli <[email protected]>
> wrote:
> >> I get a warning in very simple code - Singleton variable in branch: Hyp
> >>
> >> and I can't spot from where the problem arise.
> >>
> >>
> >> subsynset(Sub, Super) :-
> >>
> >>  s(I,_,Sub,Kind,_,_),
> >>
> >>    ( hyp(I, J) -> s(J,_,Hyp,Kind,_,_), Hyp = Super
> >>
> >>   ; subsynset(Hyp, Super)  ).
> >>
> >>
> >>
> >> I tried to swap the Hyp binding - just to see if the warning goes away -
> >> without luck
> >>
> >>
> >> ...
> >>
> >> -> s(J,_,Hyp,Kind,_,_), Hyp = Super
> >>
> >> ...
> >>
> >>
> >> Seems that Hyp is present on both branches. Maybe I'm missing some
> >> execution path ? Any hint about ?
> >>
> >>
> >> Thanks Carlo
> >> -------------- next part --------------
> >> HTML attachment scrubbed and removed
> >> _______________________________________________
> >> SWI-Prolog mailing list
> >> [email protected]
> >> https://lists.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog
> >
> >
> >
>
-------------- next part --------------
HTML attachment scrubbed and removed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.