Path: utzoo!attcan!uunet!ncrlnk!ncrcae!ncr-sd!hp-sdd!hplabs!otter!dsr
From: dsr@otter.hple.hp.com (Dave Raggett)
Newsgroups: comp.sys.mac.hypercard
Subject: Help wanted on HyperCard and Expert Systems
Message-ID: <670002@otter.hple.hp.com>
Date: 22 Sep 88 17:03:43 GMT
Organization: Hewlett-Packard Laboratories, Bristol, UK.
Lines: 26

I am a newcomer to the Mac and would like to use HyperCard as the user
interface for expert systems which will be implemented in Prolog.

Is it possible to co-routine HyperCard and Prolog, so that you can prove
Prolog goals from HyperTalk scripts and also get Prolog to send HyperTalk
messages back to HyperCard?

LPA (who supply MacProlog) say that they have had a lot of requests, but that
you can't call MacProlog as yet. They intend to release a version with this
feature in about one years time. What about other Prologs?

So far I have two ideas:

   1) To implement a simple prolog interpreter in C as a XCMD
      with entry points for initializing stacks, proving goals and
      freeing resources.  Can you send messages to HyperCard from XCMDs?

   2) To run Prolog (e.g. MacProlog) in the background (under MultiFinder),
      and get it to call a C predicate which blocks waiting for a service
      request. You then need to find a way to get HyperCard to send such a
      request and wait for a reply. This is all very hazy to me!

I'm sorry if my lack of knowledge shows, but I would be very grateful for any
ideas. 

Dave (hopeful) Raggett      -     in darkest Bristol, England.