From jan@swi.psy.uva.nl Thu Sep 27 15:52:46 2001
Received: from gollem.swi.psy.uva.nl (root@gollem [145.18.152.30])
	by swi.psy.uva.nl (8.11.2/8.11.2) with ESMTP id f8RDqkv29421;
	Thu, 27 Sep 2001 15:52:46 +0200 (MET DST)
Received: from localhost (localhost [[UNIX: localhost]])
	by gollem.swi.psy.uva.nl (8.11.2/8.11.2/SuSE Linux 8.11.1-0.5) id f8RDqk801664;
	Thu, 27 Sep 2001 15:52:46 +0200
From: Jan Wielemaker <jan@swi.psy.uva.nl>
Organization: SWI, University of Amsterdam
To: Philip Warner <pjw@rhyme.com.au>,
   "SWI Mailing List" <prolog@swi.psy.uva.nl>
Subject: Re: [SWIPL] Extensions to ActiveX DLL
Date: Thu, 27 Sep 2001 15:47:42 +0200
X-Mailer: KMail [version 1.0.29.2]
Content-Type: text/plain
References: <3.0.5.32.20010927223155.0226f600@mail.rhyme.com.au>
In-Reply-To: <3.0.5.32.20010927223155.0226f600@mail.rhyme.com.au>
MIME-Version: 1.0
Message-Id: <01092715524502.28162@gollem>
Content-Transfer-Encoding: 8bit

On Thu, 27 Sep 2001, Philip Warner wrote:
>Thanks to Douglas R. Miles, I now have the source for the ActiveX DLL for
>SWIPL; I would be interested in comments from anybody who has used (or
>considered using) the library. 
>
>Specifically, I want to add the ability to differentiate between atoms &
>strings in input. I would also be interested in other suggestions, if any.
>
>FWIW, there are two ways I am considering handling the atom/string input
>problem: (1) crudely - allow an atom to be passed on single quotes. ie.
>myAtom = "'name'" (the C-code will look for names containing single-quotes)
>and (2) the hard way - implementing collection classes for the args, with
>appropriate properties.
>
>At this stage, I am favoring the crude solution, since it is simple and
>does all that I need.

Not that I use activeX, but this type of programming is dangerous. 
Things I'm just passing along in variables suddenly gets transformed
into a string loosing the quotes, etc.

Also, why use strings at all?  SWI-Prolog atoms are unlimited, and atom
garbage collection ensures you won't waste too much memory (though if
you are using really big atoms you may wish to call the atom garbage
collector explicitely or change the default interval (after creation
of 10,000 atoms).

	Regards --- Jan 

