HDTenEightyP/NetNews huggingface dataset:
Newsgroups: comp.lang.rexx
Date:         Fri, 8 Jan 1993 12:02:02 MAL
From:         Wan Hasan Abdullah <WAN@UTMJB.BITNET>
Subject:      Re: YWAKEUP EXAMPLES

On Thu, 7 Jan 1993 13:48:21 TUR A.Ilkay Yigit said:
>I just got the program YWAKEUP...
>I need some example rexx programs using ywakeup. If you have any please
>let me have a look at them.
>

Hello A.Ilkay,
--------------------------------------------------------------------------
/*************************************************************************
 *   This is just a short example of REXX program using YWAKEUP module.  *
 *   Function: Display all incoming messages from the local nodeid as    *
 *             well as accepting CP/CMS commands */                      *
 *************************************************************************
Trace 'O'
'STATE YWAKEUP MODULE *'
If RC > 0 then do
  If RC = 28 then
    Say 'YWAKEUP MODULE not found'
  Else
    Say 'YUnknown error code='RC
  Exit
End
'YWAKEUP BEGIN *MSG'
if RC > 0 then do
  say 'YWAKEUP failed'
  exit RC
end
'CP SET RUN ON'
'CP SET MSG IUCV'
Say 'Begins...'
Do forever
  'YWAKEUP +1 (*MSG CONS'
  Select
    When YWAKEUP.0 = 5 then call MSG
    When YWAKEUP.0 = 3 then call CON
    When YWAKEUP.0 = 2 then iterate
    Otherwise do
      'CP SET RUN OFF'
      'CP SET MSG ON'
      'YWAKEUP END *MSG'
      Exit
    End
  End
End

MSG:
userid = STRIP(YWAKEUP.3)
text = STRIP(YWAKEUP.4)
Say YWAKEUP.2 'FROM' userid':' text
Return

CON:
If ABBREV('SHUTDOWN',TRANSLATE(YWAKEUP.3),4) then Do
  'CP SET RUN OFF'
  'CP SET MSG ON'
  'YWAKEUP END *MSG'
  Exit
End
YWAKEUP.3
Return
------------------------------------------------------------------------
All the best,

-WAN-
Senior Programmer at Computer Center,
University of Technology Malaysia, Johore Bahru/MALAYSIA
From: dgold@basso.actrix.gen.nz (Dale Gold)
Newsgroups: comp.lang.rexx
Subject: Arexx & hosts
Keywords: Arexx, RexxArpLib
Date: 11 Jan 93 19:15:15 PST
Organization: New Zealand Symphony Orchestra

Hi,
I wonder if anyone who is fluent with Arexx and/or RexxArpLib can
help me.

I'm using Arexx and RexxArpLib to create a window full of button
gadgets that basically builds text strings and then outputs them
to a file.  This is working fine.  However, I need to be able to
have certain gadgets call up 'sub-windows' that perform more
complicated operations and send results back to the main host.

I think that my main problem is that I don't really understand the
difference in Arexx between a host and a port...  

- I thought that I could have one host in charge of all of my
functions with different port names to identify them....  Would this
work?  Or do I need a different host name for each one?

- I want to avoid the little delay that occurs when setting up a new
host & port, so would like to be able to close a sub-window while
leaving its host and port ready for next time it's called up. Is this
possible with RexxArpLib?

Any suggestions or examples of how to do this would be gratefully
received!

Cheers,
Dale

--
- dgold@basso.actrix.gen.nz
- Korokoro, New Zealand
Newsgroups: comp.lang.rexx
From: TCSAR03@waccvm.corp.mot.com (Germain Leutwyler)
Subject: Re: Lower-case alphabetic set
Organization: Motorola
Date: 5 Jan 1993 07:59:12 MST

Hi,

Here is another routine to translate each letter from uppercase to
lowercase. You may specify the characters that shouldn'tbe converted
in the verify function.

Best regards,
Germain Leutwyler

/* TRANSLATION OF CERTAIN CHARACTERS WITHIN STRING "ST" TO LOWERCASE */
ST=''
do P=1 to length(ST)
 C=substr(ST,P,1)
 if verify(C,'?!0123456789')/=0 then C=bitxor(C,' ')
 ST=ST||C
end
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Organization: University of Califonia San Francisco
Newsgroups: comp.lang.rexx
Date:         Fri, 8 Jan 1993 10:19:19 PST
From:         Yossie Silverman <YOSSIE@UCSFVM.UCSF.EDU>
Subject:      Re: YWAKEUP EXAMPLES

I believe that YWAKEUP.0 contains the count of YWAKEUP. stem.  You really
should use YWAKEUP.1 as interrupt type.  YWAKEUP.2 always contains the
interrupt time (which should more or less be now) and any higher YWAKEUP.
variable is specific to a given interrupt type.  YWAKEUP.1 would, in
your case, contain *MSG, CONS or TIME.  - Yossie

---
Yossie Silverman                   "What did the Caspian Sea?" - Saki
I'Net:  yossie@ucsfvm.ucsf.edu
Bitnet: YOSSIE@UCSFVM              B3 f- w- t cd g++ k++ s++ p
Newsgroups: comp.lang.rexx
Newsgroups: comp.lang.rexx
Date:         Mon, 11 Jan 1993 08:06:23 MAL
From:         Wan Hasan Abdullah <WAN@UTMJB.BITNET>
Subject:      GLOBALV

Dear Netters,

I have found one more problem  to be high-lighted.  But, this time it is
not really concern about REXX. Anyhow most of the REXX programs or XEDIT
MACROs seem  using this GLOVALV command  quite often,  to determine some
variables  from somewhere else  to be performed.  I have glanced through
this GLOBALV's instruction from HELPCMS for so many times, but yet  till
now, I can't manage to understand it. Could anyone help me? I'll indeed,
appreciate that!

Thank you in advance.

-WAN-
From: miller@hmsp04.wg3.waii.com (Griff Miller X7114)
Newsgroups: comp.lang.rexx
Subject: Re: Arexx & hosts
Keywords: Arexx, RexxArpLib
Date: 11 Jan 93 17:33:57 GMT
Organization: Western Geo. - Div of Western Atlas Intn'l Inc., Houston, TX

In article <dgold.0vs0@basso.actrix.gen.nz> dgold@basso.actrix.gen.nz (Dale Gold) writes:
>- I thought that I could have one host in charge of all of my
>functions with different port names to identify them....  Would this
>work?  Or do I need a different host name for each one?

I'm pretty sure that you have to call CreateHost once for each window
you want to open. I'm pretty new to RexxArpLib and Rexx in general, but
I see no other way that it would be possible to do this in v2.52, which
is what I have. For instance, say you could open another window. How
then would you tell subsequent calls to Text, AddGadget, etc. which
window to do this stuff in? There is nothing in their argument lists
that could uniquely identify each window.

If I'm right, then I would like to further add that it may not be a
limitation of Intuition itself, but rather one placed on you by
RexxArplib.

>- I want to avoid the little delay that occurs when setting up a new
>host & port, so would like to be able to close a sub-window while
>leaving its host and port ready for next time it's called up. Is this
>possible with RexxArpLib?

Yes, this is possible. I think in the call to CloseWindow there is a flag 
to do just this. If this isn't clear, email me and I'll show you what I
mean.

Also, WaitForPort takes a while when you are creating a host for the 
first time. There's a faster way. I can't remember exactly how I did 
it in a program I'm currently working on, but I believe I busy-looped 
with a call to SHOW until it returned a true value. If this isn't clear
email me and I'll send you a code fragment to illustrate. This wasn't
an original idea of mine, BTW. I saw it somewhere.

Hope this helps.
--
Griff Miller > miller@monarch.wg3.waii.com < use this for email.

          *** My opinions are mine, not Western's. ***

   "The fear of the Lord is the beginning of knowledge, but 
    fools despise wisdom and discipline."   - Proverbs 1:7 
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
Organization: Middle East Technical University
Newsgroups: comp.lang.rexx
Date:         Thu, 7 Jan 1993 13:48:21 TUR
From:         "A.Ilkay Yigit" <YIGIT@TRMETU.BITNET>
Subject:      YWAKEUP EXAMPLES

I just got the program YWAKEUP...
I need some example rexx programs using ywakeup. If you have any please
let me have a look at them.

Thanks in advance.

************************************************************************
                    A.Ilkay YIGIT   <YIGIT@TRMETU.BITNET>
                          Programmer / Computer Center
             M.S.Student / Mechanical Engineering Department
            Middle East Technical University -- Ankara/TURKEY
************************************************************************
Newsgroups: comp.lang.rexx
X-Mailer: ELM [version 2.3 PL11]
Newsgroups: comp.lang.rexx
Date:         Thu, 7 Jan 1993 13:05:37 PST
From:         Jack Hamilton <jfh@NETCOM.NETCOM.COM>
Subject:      Re: Lower-case alphabetic set
Comments: To: REXXLIST@OHSTVMA.ACS.OHIO-STATE.EDU
              93 3:50 pm

Jim McMaster wrote:
>
>Your technique would work in an ASCII system, bacause all upper-case
>alphabetics are in the range X'41'-X'5A' (with no intermixed
>characters), and lower-case alphabetics are X'61'-X'7A'.

Only for business English.  I don't think it would be true for poetic
English, which uses some special accented characters (double-dot over the O
in coordinate, backward slash over the last e in despised), and it's not
true for many European languages with accented characters as part of the
regular character set.

Is there a generic name for those character sets, other than "8-bit"?

-----------------------------------------------------------------------
Jack Hamilton   jfh@netcom.com   P. O. Box 281107   SF, CA   94128-1107
Newsgroups: comp.lang.logo
From: lars@ramsey.cs.laurentian.ca (Mr. L. Singleton)
Subject: Looking for a good version of DOS logo
Keywords: logo
Organization: Dept. of Computer Science, Laurentian University, Sudbury, ON
Date: Thu, 7 Jan 1993 21:27:18 GMT


Hi there logo people.  I would like to know if anyone has any experience with
a 'good' version of a DOS logo.  I here Berkely is pretty good.
Any comments?

***********************************************  
* "Science now to me is far more religious    *  Larry Singleton
* than religion.  There's far more awe for    *  lars@ramsey.cs.laurentian.ca
* me in watching Star Trek." - Camille Paglia *  Laurentian University
***********************************************  Sudbury, Ontario, Canada

Newsgroups: comp.lang.logo
From: lars@ramsey.cs.laurentian.ca (Mr. L. Singleton)
Subject: mswlogo: when is the next version expected?
Keywords: logo
Organization: Dept. of Computer Science, Laurentian University, Sudbury, ON
Date: Thu, 7 Jan 1993 21:23:45 GMT


When is the next version of MSWLOGO coming out?
I presently have MSWLGO24.
I'm interested in seeing what new features are being added.

*******************************************  Larry Singleton
* Logic is a systematic method of coming  *  lars@ramsey.cs.laurentian.ca
* to the wrong conclusion with confidence *  Laurentian University
*******************************************  Sudbury, Ontario, Canada
From: mills@athena.lkg.dec.com (George Mills)
Newsgroups: comp.lang.logo
Subject: Re: mswlogo: when is the next version expected?
Keywords: logo
Date: 8 Jan 93 05:48:15 GMT

lars@ramsey.cs.laurentian.ca (Mr. L. Singleton) writes:


>When is the next version of MSWLOGO coming out?
>I presently have MSWLGO24.
>I'm interested in seeing what new features are being added.

>*******************************************  Larry Singleton
>* Logic is a systematic method of coming  *  lars@ramsey.cs.laurentian.ca
>* to the wrong conclusion with confidence *  Laurentian University
>*******************************************  Sudbury, Ontario, Canada

MswLogo3X has been out for a while (a month or so).

A lot better, a lot different and a bit buggy.

3.0 should be out soon (week or two).
Newsgroups: comp.lang.prolog
From: thom@ecrc.de (Thom Fruehwirth)
Subject: Re: British coinage problem
Reply-To: thom@ecrc.de
Organization: European Computer-Industry Research Centre GmbH.
Date: Fri, 8 Jan 1993 13:18:10 GMT

Once you have a simple solution (e.g. my previous posting)
you can make it fast. As we are interested in a set of coins
rather than a sequence of coins as the solution,
we can restrict ourselves to a sorted list (descending by
value). We simply add another argument to sum_coins that
holds the previous value and take care that the new value
is not greater.

The resulting program gives a 25-fold speed-up on min_coins(119,L).
The average time to compute one of the first 120 solutions is about
5 milliseconds (Eclipse on Sun SLC). This speed should suffice.
*/

% British coinage problem

min_coins(Value,Coins):- list(Coins),sum_coins(Coins,Value,Value). 

list([]).
list([X|L]):- list(L).

sum_coins([],0,_).
sum_coins([Coin|Coins],Sum,PrevVal):-
	coin(Coin,Value),
	Value =< PrevVal,
	Value =< Sum,
	NewSum is Sum-Value,
	sum_coins(Coins,NewSum,Value).

coin('ten shilling note', 120).
coin(       'half-crown',  30).
coin(           'florin',  24).
coin(         'shilling',  12).
coin(         'sixpence',   6).
coin(   'threepenny bit',   3).
coin(            'penny',   1).

% thom

Newsgroups: comp.lang.prolog
From: huebner@PrakInf.TH-Ilmenau.DE (Huebner)
Subject: SUMMARY 2 : Prolog and object-oriented programming
Organization: Technische Hochschule Ilmenau
Date: Mon, 04 Jan 93 13:50:07 GMT


Hi,

some weeks ago I posted:
>
>I'm more related with object-oriented programming, but I feel,
>that it would be nice to have a combination of the expressive
>power of logical formulas and the means of inheritance of OOP. 
>Is there a language that tries to integrate these two paradigms?
>

I hope all interested people got my first summary.
Here is the second summary with the remainders:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Date: Thu, 3 Dec 92 08:33:17 EST
From: marc@edx.ed.dreo.dnd.ca (Marc Dion)

You may find a Prolog implementation of object-oriented programming in the
paper: "Object-Oriented Programming in Prolog", Edward P. stabler jr.,
AI Expert, Oct 86

------------------------------------------------------------------------------
Marc Dion                                Defence Research Establishment Ottawa
Tel: (613)  998-2611  Fax: 998-4560      3701 Carling Ave,  Ottawa,  Ontario
Internet:  marc@eds.ed.dreo.dnd.ca       Canada                        K1A 0Z4

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

From cix.comp@compulink.co.uk Fri Dec  4 14:31:44 1992
From: Logic Programming <lpa@cix.compulink.co.uk>


Dear Michael,

Don't forget LPA offers Prolog++ on Mac, MS Windows and DOS.

Prolog++ is an object oriented extension to Prolog with
two additional symbols to standard Prolog.

If you send me your email address, I'll send you some
information and a report from Chris Moss at Imperial.

Regards


Clive Spenser
LPA

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Best wishes for the new year,

Michael H"ubner


Newsgroups: comp.lang.prolog
From: veronica@cs.sfu.ca (Veronica Dahl)
Subject: research position at Simon Fraser University
Organization: CSS, Simon Fraser University, Burnaby, B.C., Canada
Date: Wed, 6 Jan 1993 18:45:59 GMT

A one year position as Research Scientist is offered:


Where:  Logic and Functional Programming Group, Simon Fraser University, 
        Burnaby, British Columbia, Canada

Remuneration: $30,000 Can.  

Qualifications: Candidates should have a PhD, be experienced in the
areas of logic and functional programming, and also in any of the following
areas: Natural Language Processing, English/French machine translation, 
constraint logic programming (foundations, applications to deductive database
and expert systems), logic grammar foundations and implementations, tools for
the verification of logic programs, foundations of higher order logic
programming. 

Start date (negotiable): March 1st, 1993.

Simon Fraser University is located on Burnaby mountain, a short distance from
downtown Vancouver.  

The Logic and Functional Programming group was founded in 1986 for research
in the area of logical and functional programming and its applications.  
The current members of the group are:
 
   Warren Burton, Veronica Dahl, James Delgrande, Lou Hafer, Jiawei Han,
   Ronald Harrop, Bill Havens, Fred Popowich (Computing Science, SFU)

   Romas Aleliunas (Centre for Systems Science, SFU)

   Harvey Abramson (Computing Science, Tokyo)

   Maarten van Emden, Bill Wadge (Computing Science, University of Victoria)

   David Poole (Computing Science, University of British Columbia)

   Michael Rochemont (Linguistics, University of British Columbia)
 
If you are interested in this research position, please send a complete CV and
the names and addresses of two people who can write a letter of reference on
your behalf to:

Dr. Veronica Dahl
Director, Logic and Functional Programming Group
Simon Fraser University
Burnaby B.C. V5A 1S6 CANADA

Tel.: (604) 291-3372
e-mail: veronica@cs.sfu.ca
From: huang@deakin.OZ.AU (Weiguang Huang)
Newsgroups: comp.lang.prolog
Subject: How to parse "I say: 'I love you'" to [I, say, I love you]
Date: 4 Jan 1993 22:33:29 +1100
Organization: Deakin University, Victoria, Australia
Distribution: world
NNTP-Posting-Host: sol.deakin.oz.au


The program

tok([String,[A|B]) :- fronttoken(String,A,String2), tok(String2,B).
tok(_,[]).

parse "I say ' I love you'" to [I, say, I, love, you], but how to parse
to ["I", "say", "I love you"] ?

Please help.

huang@deakin.edu.au
From: chik@icot.or.jp (Takashi Chikayama)
Newsgroups: comp.lang.prolog
Subject: Why can't integers become principal functors?
Date: 7 Jan 93 02:48:12 GMT
Reply-To: chikayama@icot.or.jp
Distribution: comp
Organization: Institute for New Generation Computer Technology, Tokyo, Japan.

Can somebody explain why integers cannot be the principal functor of
non-atomic functors?  Are there any theoretical reasons?  Any
implementational difficulties?  Or just for compatibility with
previous implementations?

Takashi Chikayama
From: goodrich@sirius.noname (Mike Goodrich)
Newsgroups: comp.lang.prolog
Subject: Help !!
Date: 12 Jan 1993 19:54:22 GMT
Organization: Sun Microsystems, Inc.
Distribution: world
Reply-To: goodrich@sirius.noname
NNTP-Posting-Host: sirius.larc.nasa.gov


Greetings,
	As a Prolog neophyte, I am having some diffuculty. Can anyone show me a set of
clauses for a predicate which can search a list of integers and return the maximum int to
the parent clause ? Even if there is a built-in predicate, I still need it for other
purposes. Thanx...


..mike
Newsgroups: comp.lang.prolog
From: mcovingt@aisun3.ai.uga.edu (Michael Covington)
Subject: Re: British coinage problem
Keywords: Keep simple problems simple
Organization: AI Programs, University of Georgia, Athens
Date: Thu, 7 Jan 1993 21:16:01 GMT

What, no tuppence?

-- 
:-  Michael A. Covington     internet mcovingt@uga.cc.uga.edu :    *****
:-  Artificial Intelligence Programs       phone 706 542-0358 :  *********
:-  The University of Georgia                fax 706 542-0349 :   *  *  *
:-  Athens, Georgia 30602-7415 U.S.A.     amateur radio N4TMI :  ** *** **
Newsgroups: comp.lang.prolog
From: scip2012@nusunix1.nus.sg (WU JIANHUA)
Subject: Wanted: MIKE -- a toolkit of K.E.
Organization: National University of Singapore
X-Newsreader: TIN [version 1.1 PL6]
Date: Mon, 11 Jan 1993 01:15:47 GMT

Hi,

Does anyone know where I can get the MIKE (Micro Interpreter for
Knowledge Engineering), which is developed by M. Eisenstadt & M.
Brayshaw at the Human Cognition Research Lab og the Open University in
England?

I read it from BYTE (Oct., 1990), and it said that MIKE it freely
available.

pls reply through mail. Thanks in advance!

********************************************************************************
        **   **            Wu, Jianhua
       **   ** **  **   ** Dept. of Infomation Systems & Computer Science
      **   *** ** ** * **  National University of Singapore 
 **  **   **  ** ** * **   Singapore 0511
**  **   **  ** *******    E-Mail: WuJianHu@ISCS.NUS.SG, Scip2012@NUSUNIX.NUS.SG
****   ***  **  ** **      Phone : +65 7726136       Fax: +65 7794580
From: ken@aiai.ed.ac.uk (Ken Johnson)
Newsgroups: comp.lang.prolog
Subject: Making up sums of money from coins
Date: 5 Jan 93 15:14:10 GMT
Followup-To: comp.lang.prolog
Organization: William's Wonderful Wonky Widget Warehouse


If you want to make up a sum of money in British decimal currency using
the fewest coins, there is a safe deterministic algorithm.  Allocate the
largest coin that you can, until you have made up the sum exactly.  E.g. 
to make up 78p you allocate 50p (the largest coin -- no one-pound coins
in Scotland), leaving 28p; to make up 28p you allocate 20p (the largest
coin that fits) leaving 8p, then 5p, 2p, 1p.  A few experiments
convinces me this algorithm works. 

In old British money, however, it sometimes misses a trick.  The
following code works for the cases of two shillings and twopence (26
pence) and two shillings and sixpence (30 pence) as follows:

          | ?- make(26,C).

               C=[florin,penny,penny] ;

          | ?- make(30,X).

               X=[half-crown] ;

But it can't do four shillings (48 pence) correctly.

          | ?- make(48,X).

               X=[half-crown,shilling,sixpence]

since a solution in two coins is possible.  I'd be interested to hear of
any neat, deterministic algorithm that can do this problem even though
it is now twenty-one years too late.  I'm looking for something neater
than a depth first search with depth-of-search control. 

Here is my code, for the information of any who seek it.  You may
distribute this code freely, but please acknowledge the source and the
limitation described above.  If you sell copies of this code at a
profit, I want a share. 


          % Making up sums of pence in old British
          % currency.  Ken Johnson, 5-1-1993

          make(0,[]).

          make(Sum,[Name|Rest]) :-
          	coin(Name,Value),
          	Value =< Sum,
          	!,
          	Residue is Sum - Value,
          	make(Residue,Rest).


          % Note the ordering from greatest to least
          % value is essential to make the second clause
          % (above) work. If these clauses are randomly
          % ordered you will have to alter that second clause
          % to make it cope.

          coin('ten shilling note',120).
          coin('half-crown',30).
          coin(florin,24).
          coin(shilling,12).
          coin(sixpence,6).
          coin('threepenny bit',3).
          coin(penny,1).



-- 
Son, all the pretty, intelligent,      || Ken Johnson                           healthy young women are taken.         || A I Applications Institute
It's a basic rule of the universe,     || 80 South Bridge                       and if you don't like it,              || Edinburgh,  Scotland   EH1 1HN
go somewhere else.                     || Phone 031-650 2756   Fax 031-650 6513
               -- my dad  1906-1992    || E-mail ken@aiai.ed.ac.uk
From: ken@aiai.ed.ac.uk (Ken Johnson)
Newsgroups: comp.lang.prolog
Subject: Re: British coinage problem
Date: 8 Jan 93 11:19:25 GMT
Followup-To: comp.lang.prolog
Organization: William's Wonderful Wonky Widget Warehouse


In article <1993Jan7.141322.22240@ecrc.de> thom@ecrc.de writes:

#  min_coins(Value,Coins):-
#  	list(Coins),
#  	sum_coins(Coins,Value).
#  
#  list([]).
#  list([X|L]):- list(L).
#  
#  sum_coins([],0).
#  sum_coins([Coin|Coins],Sum):-
#  	coin(Coin,Value),
#  	Value =< Sum,
#  	NewSum is Sum-Value,
#  	sum_coins(Coins,NewSum).
# ...
# coins detail omitted


This is a short solution, but it is really just a neat way of doing
iterative deepening.  To be honest, I hadn't thought of doing it quite
this way.  However, it might be spectacularly inefficient.  Supposing
the fewest coins needed to make up some sum is seven.  This algorithm
will try a large number of combinations of 2 coins, then 3, then 4, then
5, then 6, before finding the optimal solution.  So this does not really
qualify as the Ultimate Answer. 

Adding a clause

   sum([],X) :-
	X > 0,
	write('failed'),
	nl.

will print the word `failed' for each unsuccessful combination.

Ken Johnson
-- 
Son, all the pretty, intelligent, healthy     #    Ken Johnson, AIAI,
young women are taken. It's a basic rule of   #    80 South Bridge, Edinburgh
the universe, and if you don't like it, go    #    Tel 031-650 2756 
somewhere else.        -- my dad  1906-1992   #    Fax 031-650 6513
Newsgroups: comp.lang.prolog