combinations of variable length nested lists
Joseph A. Knapka
jknapka at earthlink.net
Tue Aug 7 17:42:14 EDT 2001
Alex Martelli wrote:
>
> "Mark Robinson" <m.1.robinson at herts.ac.uk> wrote in message
> news:3B7023A4.6020408 at herts.ac.uk...
> >
> > Joseph A. Knapka wrote:
> >
> > > PEP proposal: add a backtracking Horn-clause resolution
> > > engine to Python!
> > >
> > > :-)
> > >
> > > This problem is a two-liner in Prolog:
> > >
> > > one_of_each([],[]).
> > > one_of_each([H|T],[H1|Ts]) :- member(H1,H), one_of_each(T,Ts).
> ...
> > backtracking Horn-clause resolution engine, that can't be real
> > terminology, I am sure you just plagerised Elmer Fudge :)
>
> The terminology is right, but the Prolog example he gives looks
> just like a transliteration of a ML or Haskell program and uses no
> backtracking that I can see.
Yet it's there. member/2 is nondeterministic, so the code
above will find every solution, if invoked via findall or
within a failure loop.
I don't know ML or Haskell (yet :-)
-- Joe Knapka
"You know how many remote castles there are along the gorges? You
can't MOVE for remote castles!" -- Lu Tze re. Uberwald
// Linux MM Documentation in progress:
// http://home.earthlink.net/~jknapka/linux-mm/vmoutline.html
2nd Lbl A + 1 = 2nd Pause 2nd Prt GTO 2 R/S
More information about the Python-list
mailing list