[comp.lang.prolog] Minutes of NACLP '90

bradley@cs.utexas.edu (Bradley L. Richards) (11/08/90)

I attended NACLP '90 with a friend (who desperately wants to remain anonymous
in this silliness).  During one of the slower talks we started the following
story.  Every now and then one of us would add another phrase or two.  By the
end of the conference the masterpiece was almost complete...

Bradley
bradley@cs.utexas.edu

-------------------------------------------------------------------------------

Long, long ago in a galaxy far, far away there was a lonely query <-p(f(X))
from the planet Prolog.  <-p(f(X)) went on a quest to find a lovely mate to
unify with.  Embarking on the starship Resolution, <-p(f(X)) set out.  The
first stop was on the planet Rule, populated with individuals with p(f(c))
heads, and <-p(f(X)) began to search for the individual with the perfect
functor.  <-p(f(X)) placed an ad in the local newspaper, saying

   "<-p(f(X)) desperately seeking lovely p(f(c)) headed body, nonsmoking
    and negation-free..."

The only reply <-p(f(X)) received was an offer from the p(f(X)) :- q(f(Y))
dating service.  The offer was: p(f(c)) :- not(visa(expired)).  Disappointed,
<-p(f(X)) left the planet Rule and traveled on to the planet Fact.  In a
sleezy space-dock bar, <-p(f(X)) met p(f(p)), who said: "Wanna unify with me,
sailor?"  "Your place or mine?", replied <-p(f(X)).  (Editor's note: <-p(f(X))
was *really* desperate).  p(f(p)) led <-p(f(X)) upstairs to a small room
(about 64 kB) and shut the door (Censor's note:  X-rated).  Being rather
inexperienced, <-p(f(X)) wasn't sure what p(f(p)) was expecting.  Wanting to
stay on the safe side, he went slowly, starting with =.., so that they
became [p, f(X)] and [p, f(p)], respectively.  Impatient, [p, f(p)] recursed,
merrily unifying along the way, until they reached X=p.  In a burst of
ecstasy, X cried "Yes, yes" as he lost his identity in p.  A few minutes
later, the semicolon chimed and <-p(f(X)) pulled himself together, thinking
hard about the decision he had to make:  backtrack and remain <-p(f(X)),
perhaps forever, or jump the cut and stay united with p(f(p)) for better
or for worse.  Suddenly, he remembered that he had forgotten to ask what
his mother had told him never, never to forget to ask--the occurs_check
question.  Dreading the answer, he asked: "Did you have your occurs_check
on?" A look of surprise crossed her face, and she soundly answered:
"Occurs_check?  Don't you know the difference between Robinson and
Escalada-Imaz?  Occurs_checks are out, man..." "Whew," breathed <-p(f(X)),
"I'd forgotten about that.  Come with me, Resolution is leaving and I have
to backtrack (Editress's note: Slight inconsistency here, how can they
backtrack and stay together, huh?).  p(f(p)) looked startled.  Goals has
come and gone, but until now none had wanted or offered more than a brief
unification...