From root Sat Aug  8 14:10:48 1992
Received: from rhumba.oit.unc.edu by mdewey.ga.unc.edu (AIX 3.1/UCB 5.61/TAS/11-16-88)
	id AA09164; Sat, 8 Aug 92 14:10:46 -0400
Received: from lambada.oit.unc.edu by rhumba.oit.unc.edu (4.1/TAS/11-16-88)
	id AA00324; Sat, 8 Aug 92 14:14:30 EDT
Received: by lambada.oit.unc.edu (5.57/TAS/11-16-88)
	id AA27247; Sat, 8 Aug 92 14:20:14 -0400
Return-Path: <peterd@expresso.cc.mcgill.ca>
Received: by lambada.oit.unc.edu (5.57/TAS/11-16-88)
	id AA27244; Sat, 8 Aug 92 14:20:09 -0400
Received: from kona.CC.McGill.CA by ucdavis.ucdavis.edu (5.61/UCD2.04)
	id AA19259; Sat, 8 Aug 92 11:19:18 -0700
Received: from expresso.CC.McGill.CA by kona.cc.mcgill.ca with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
        id AA23936  (mail destined for gds@ucdavis.edu) on Sat, 8 Aug 92 14:17:43 -0400
Received: by expresso.cc.mcgill.ca (NeXT-1.0 (From Sendmail 5.52)/NeXT-1.0)
	id AA00408; Sat, 8 Aug 92 14:17:32 EDT
Message-Id: <9208081817.AA00408@expresso.cc.mcgill.ca>
In-Reply-To: Jim Fullton's message as of Jul 31, 11:05
From: peterd@bunyip.com (Peter Deutsch)
Date: Sat, 8 Aug 92 18:17:31 GMT-0:02
X-Mailer: Mail User's Shell (6.5.6 6/30/89)
To: Jim Fullton <fullton@mdewey.ga.unc.edu>
Subject: A _rough_ first pass at a query engine...
Cc: gds@ucdavis.edu
Status: RO

[* This is obviously aimed at Jim, but I"m sending it to
the list so everybody will know where we are. This is the
alpha query and search startup code, which only Jim needs,
but the rest of you are free to look and play if you want.
This is buggy as all get out, but the basic structure I
think is good. *]

g'day Jim,

I want to keep playing with this, but I figure I'd better
give you something to look at.

Here is a uuencoded copy of a tar'ed, compressed alpha
release of the query engine/search engin stub. The README
file should have enough detail for you to compile it
successfully and I've gone through and commented the code
so you can figure out what I'm doing.  Let me know if
there's any problems.

The main point is that I now realize, after reading your
last note that my concerns about the query engine <-->
search engine protocol is bogus. My search engine will
merely act as a shell for any real searching, so I can do
what I want on the interactions. The trick is for you to
have a clearly defined data structure with the right data,
which you now have in the file "engine.c" once it has
received the search command. You can either splice in your
code, or fork another process to do the actual searching.
Your call at this point.

This search engine will also ultimately be responsible for
formatting the returned search results into a standard
format. Thus, as long as your searches have the right
info and we can figure it out, the query engine need never
know you exist. Pretty clean, really.

So, enjoy. There are obviously a gazillion things still to
do (I think I listed a few in my last note). The main
thing for me right now is to finishing writing down what I
claim will come back from the query engine so the client
people can get to work. This is all down on paper, but
I need to finish typing it in. I've actually got it as a
BNF (how formal!), along with a cleaned up grammar for the
input.

Did I mention I have another guy here at CC who wants to
do a PC client? Well, it turns out he's also a Mac person
and claims that a template browser would be trivial in
Hypercard. We'll see.  Of course, Luc is waiting on me for
UNIX, as well, so the range of potential startup clients
is pretty good. I promise I will get the specs out this
week.

BUG ALERT!

The worst known bug is the inability to backspace over an
error on input. This hasn't mattered since I've only been
testing. I'll work on it soon. Of course, there are no
abbreviations and it _must_ be lower case, too. That can
all be worked on later.

Enjoy and pardon the mismashed formatting, the thousands of
debugging messages, etc. Still, this _is_ alpha code... :-)


				- peterd

