From fisch@ptolemy.arc.nasa.gov Thu Feb 15 04:28:08 2001
Received: from ptolemy.arc.nasa.gov (ptolemy.arc.nasa.gov [128.102.112.134])
	by swi.psy.uva.nl (8.11.2/8.11.2) with ESMTP id f1F3S7Z14653
	for <prolog@swi.psy.uva.nl>; Thu, 15 Feb 2001 04:28:08 +0100 (MET)
Received: from bowl (bowl.arc.nasa.gov [128.102.113.238])
	by ptolemy.arc.nasa.gov ( -- Info omitted by ASANI Solutions, LLC.) with SMTP id TAA06199
	for <prolog@swi.psy.uva.nl>; Wed, 14 Feb 2001 19:29:01 -0800 (PST)
From: "Bernd Fischer" <fisch@ptolemy.arc.nasa.gov>
To: <prolog@swi.psy.uva.nl>
Date: Wed, 14 Feb 2001 19:31:18 -0800
Message-ID: <NDBBLGANCLGPPKPLENDJOECGCKAA.fisch@ptolemy.arc.nasa.gov>
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
Importance: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
Subject: [SWIPL] partial evaluation

Hi,

does anybody have any experience with partial evaluation of full SWI-Prolog
(excluding the module system)? Are there any systems out there which can be
recommended? What speed-ups can I typically expect?

Consider for example the predicates

  p(PredicateName, TermIn, TermOut) :-
	...,
	call(PredicateName, TermIn, TermOut),
	...
and

  q(TermIn, TermOut) :- p(test, TermIn, TermOut).

What I really here want is of course to get rid of the meta-call in p. How
much can I do with goal_expansion and term_expansion? So, any recommendations?

Thanks in advance,

-- fisch

--
------------------------------------------------------------------------------
Bernd Fischer                             Automated Software Engineering Group
RIACS, NASA Ames Research Center                    fisch@ptolemy.arc.nasa.gov
M/S 269-2                               http://ase.arc.nasa.gov/people/fischer
Moffett Field, CA 94035, USA             +1(650)604-2977  fax 4036  rm 269-239

