From p.singleton@keele.ac.uk  Fri Jan 21 05:45:11 2000
Received: from cmailg3.svr.pol.co.uk (cmailg3.svr.pol.co.uk [195.92.195.173])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id FAA00797
	for <prolog@swi.psy.uva.nl>; Fri, 21 Jan 2000 05:45:11 +0100 (MET)
Received: from modem4294967293.justice.dialup.pol.co.uk ([195.92.4.3] helo=keele.ac.uk)
	by cmailg3.svr.pol.co.uk with esmtp (Exim 3.13 #0)
	id 12BVwg-0007Ez-00
	for prolog@swi.psy.uva.nl; Fri, 21 Jan 2000 04:45:14 +0000
Message-ID: <3887E229.CF1E6F13@keele.ac.uk>
Date: Fri, 21 Jan 2000 04:35:53 +0000
From: Paul Singleton <p.singleton@keele.ac.uk>
Organization: SmartArts Computing Consultancy
X-Mailer: Mozilla 4.7 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: SWI Prolog <prolog@swi.psy.uva.nl>
Subject: Re: [Fwd: abolish/1 in 3.3.0]
References: <3884CB89.A930796C@keele.ac.uk> <3884D86D.6074DB97@noe.ubi.pt> <38863ED7.D6F27F6@keele.ac.uk> <00012014554802.22472@gollem>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Jan Wielemaker wrote:

> On Wed, 19 Jan 2000, Paul Singleton wrote:

> >(Really, I want to be able to consult/compile from a byte array in
> >main memory, and also (when transforming procedure sources) from
> >terms, but I'm resigned to using temporary files.)

> This could be done: turn the input into a stream (have to do that
> in C), read the terms, call expand_term/2 on each and assert them
> (see boot/init.pl).  If you want to go this way, I'm willing to
> help defining a public interface for doing this.

Quintus had

	with_output_to_chars( Goal, Chars)

	with_input_from_chars( Goal, Chars)

which were useful for this sort of thing, although I can see
that mapping e.g. ODBC buffers onto streams in foreign code
would be more direct.

NB is your Quick Load format useable for individual procedures?
Would it make any sense to compile procedures individually and
load the .qlf byte strings from the repository?

Anyway, I'm certainly interested in faking streams in foreign code;
is there anything in particular in the sources I should look at
for guidance?

Paul Singleton


