At 21:35 16/07/2002, Ovid wrote:
>This is a follow up to my previous email 
>re:  http://www.perlmonks.org/index.pl?node_id=181980.
>
>Since I'm trying to create "Perlog", a Prolog-like implementation in Perl, 
>I've run across an
>issue which could cause some problems.  Specifically, are variadic 
>(varying number of arguments)
>predicates allowed in Prolog?  In other words, can someone do this:
>
>   foo( bar, baz ).
>   foo( bar, quux, camel ).

Yes. they're essential. Your two predicates would
be foo/2 and foo/3.

 >...
>If variadic predicates are allowed, what would they be used for?  If I can 
>safely exclude them
>from the Perl implementation, this would make life much easier.

You certainly cannot exclude them from any implimentation
of PROLOG and call it PROLOG - for examples of use, see any
number of textbooks. One thought is a routine that calls
itself with an argument: if there is no argument, it's the
first call.  Agh, not clear, sorry, but I've had a very
busy weekend, and am still a tad drunk (just married).

Good luck -- have you seen the existing Prolog in Perl?

Lee



Reply via email to