HDTenEightyP/NetNews huggingface dataset:
From: campbell@src.honeywell.com (Terry Campbell)
Subject: Re: smalltalk rather than C++?
Originator: campbell@analysis.src.honeywell.com
Organization: Honeywell Systems & Research Center, Mpls. MN, USA.
	<1992Nov18.144528.1674@dvorak.amd.com>
Distribution: usa
Date: Wed, 18 Nov 1992 19:19:49 GMT


In article <1992Nov18.144528.1674@dvorak.amd.com> rpomeroy@aunext3.amd.com (Ron Pomeroy x(Coop)) writes:

>> In article <1992Nov17.234103.18231@macc.wisc.edu> wisplan@vms.macc.wisc.edu  
>> (Shaun Abshere) writes:
>>
>>Situation: I'm embarking on a new project and would like to make use of OOPS
>>technology. I'm a C programmer (mostly) and have read a little about C++.
>>My project deadline is about 7 months from now. Is it realistic to try to  
>> learn 
>>Smalltalk then develop a project in this short a time, as opposed to staying 
>>with a syntax I know well and doing it in C++?
>>
>>Next question: my project will involve some more-or-less standard menus and 
>>forms, but in many places I'll be prompting for free-form narratives of 
>>indeterminate length. I want to avoid spawning an editor because I need full 
>>control of storage and validation of the contents of the buffer when the 
>>user is done with a section of the report (the project is a report generator; 
>>the report is scanned by another program later using section headings which 
>>my program will spit out, very tight syntax). I can imagine creating a simple 
>>editor from something like the Borland Turbo Editor Toolbox and wiring the 
>>output to a specific file, and on return from the spawn i just open that file 
>>and read the contents, but this seems clumsy and ugly.  I DON"T want to write 
>>an editor from scratch. If there are editor tools available that I could use 
>>to creat a built-in simple editor (PgUp PgDn, Cut, Paste, maybe string 
>>search) and I could let the editor worry about memory management, I would be 
>>happy indeed. Editing text will be at the heart of the program, if  
>> SmallTalk/V
>>can provide a way out of this dilemma that might be the key to which language 

No problem (at least with V Windows).  The build in editor suppoirts all the
required capabilities and can be easily extended.  You can poup editors, have
them resident in user window etc.  You can build the check routines into
Smalltalk or pass to a C function (DLL) as you wish.  If you know how to write
DLLs in C you can use C where you wish etc.
From: ac690@cleveland.Freenet.Edu (Edward Klimas)
Newsgroups: comp.lang.smalltalk
Subject: Re: Version Control for ParcPlace SmallTalk 4.1
Date: 22 Nov 1992 01:34:30 GMT
Organization: Linea Engineering, Inc. Cleveland, Ohio
Reply-To: ac690@cleveland.Freenet.Edu (Edward Klimas)
NNTP-Posting-Host: slc4.ins.cwru.edu


In a previous article, harwoodm@cs.man.ac.uk (Malcolm J. Harwood) says:

>
>I am writing a final year degree project in SmallTalk, part of which
>involves building a version control system. Admittedly I haven't actually
>tried implementing it yet, but it seems like just a matter of getting
>the compiler to look elsewhere instead of the system dictionary. (and 
>building browsers etc. to access the different versions).
>The conceptual simplicity and the usefulness of such a facility, leads
>me to wonder what's so difficult about it that nobody appears to have
>done this before.
>Hense I would be very interested if anybody who has already tried this
>could let me know wether is it actually possible, merely not worth the effort
>or just a corperate secret.
>Replies by email would be appriciated as I don't get to read news that
>often these days.
>Thanks,
>	Malcolm.
>
>__________________________________________________________________
> Malcolm J. Harwood
> Department of Computer Science, University of Manchester, England
> Email: malcolm@spec0.ee.man.ac.uk
>
	I think you need to take a close look at what is commercially
	available already before trying to role your own (e.g. ENVY
	and other products) as well as the written literature (e.g.
	The Orwell System by Thomas et. al. in OOPSLA proceedings.)
	There have also been a number of excelent articles in The 
	Smalltalk Report (BTW Creating a usable code management system
	is not an easy matter for any language.  Please don't underestimate
	the market requirements for a usable CMS system for ST.  
	The 3 attempts that I am aware of by individuals to role 
	their own quickly went down in flames due to overconfidence
	and naivette of what it takes to do it right)

	Ed Klimas
Newsgroups: comp.lang.smalltalk
From: cantwell@vuse.vanderbilt.edu (Jeff Cantwell)
Subject: Humble Users Out There?
Organization: Vanderbilt University School of Engineering, Nashville, TN, USA
Date: Thu, 19 Nov 1992 19:27:36 GMT

I've been working on a project where we've been using Humble for a few
very simple expert systems.  I'm getting ready to do something "real"
with it. Is anyone out there currently using Humble do to things? If
so, I'd be interested in knowing what you think of it, what problems
you've had, etc. We have had a number of little bugs (problems with
printing, corrupting a knowledge base when deleting entities and/or
parameters), even with our toy systems.

Now for a specific question. Anyone know how to COPY a Knowledge Base?
Sometimes you've got one working nicely, and you just want to tinker
with it a little bit.  But I've found that if you play with your
entity/parameter defs you can really mess up your KB, so that it won't
run at all. I'd like to copy my KB to a new name for experimentation.
There seems to be no Humble command for this, and copying the kb file
won't work either, cause there seem to be references within the file
to the name of the kb. And changing those refs directly with an editor
won't work either.  Any ideas on this?

Jeff
-- 
Jeff Cantwell, Vanderbilt U. CIS Box 1804, Sta. B Nashville, TN 37235 
  Internet: cantwell@vuse.vanderbilt.edu Bitnet: CANTWEJR@VUCTRVAX
	Phone: (615) 322-0110  Fax: (615) 343-6449
       2 Cor. 12:9 "Power is perfected in weakness."
Newsgroups: comp.lang.smalltalk
From: ags@scs.carleton.ca (Alexander G. M. Smith)
Subject: Re: parallel / distributed Smalltalk ?
Organization: School of Computer Science, Carleton University, Ottawa, Canada
Date: Tue, 24 Nov 1992 01:03:50 GMT

In article <1992Nov23.105127.6460@sun1.ruf.uni-freiburg.de> schacht@sun1.ruf.uni-freiburg.de (Susanne Schacht) writes:
>Dear smalltalkers!
>I'd like to get to know latest news about parallel or distributed 
>extensions of Smalltalk - Parcplace/Objectworks preferred! Asynchronous 
>message passing is interesting, too.
>Could someone give me a hint? Thanks in advance, I'll summarize!

I added networking to Parc Place Smalltalk-80 version 2.3 as part of my
multi-user distributed computer graphic puppeteering system.  My
approach was relatively simple - just make proxy objects which stand in
for remote objects.  When a message is sent to a proxy, it gets
transmitted over the network (with suitable encoding of arguments into
atomic values (SmallIntegers, Floats etc.), oop id numbers for other
objects).  When the result comes back, the proxy returns it to the
message sender. 

I also had some asynchronous stuff.  The simplest was a broadcast to all
computers of a string to be evaluated.  For messages to particular
objects, I either had a special proxy that didn't wait around for a
result or I sent the message in a new process thread.  I forget which it
was; it's been a while. 

If you're interested, I could mail you the postscript version of my
thesis.  It also has lots of other stuff that isn't too relevant
(computer graphics, motion control and a custom network protocol for the
Mac). 

- Alex
Newsgroups: comp.lang.smalltalk
From: mh@uran.informatik.uni-bonn.de (Martin Honnen)
Subject: Conversion of ST80-Code from Version 2.5 to Release 4 
Reply-To: mh@uran.informatik.uni-bonn.de (Martin Honnen)
Organization: Praktische Informatik III
Date: Fri, 20 Nov 1992 19:10:58 GMT

I need some help to convert code implemented under Version 2.5 of
ParcPlace Smalltalk80 to Release 4. Version 2.5 contained the two
classes FormMenuView and FormEditor, which are mentioned in the
Release Notes of Version 4 as "deleted without direct successor".
Who has experience in converting code which contains classes with
FormMenuView or FormEditor as superclass?
Did anyone reimplement this classes?
I hope I'll get some helpful hints.

Martin Honnen (mh@uran.informatik.uni-bonn.de)  
   

Newsgroups: comp.lang.smalltalk
From: hinkle@cs.uiuc.edu (Bob Hinkle)
Subject: Restarting contexts in V/286
Organization: University of Illinois at Urbana-Champaign
Date: Tue, 17 Nov 1992 22:25:29 GMT

   I'm almost done implementing an exception handler for V/286,
but I'm still having one problem:  I can't seem to restart 
the current process at a different context using the
Process>>restartAt: method.  I *can* restart one (suspended)
process from another, much like what the Debugger does, but I also
want to be able to restart the current one.  The solution I came
up with, and the one Digitalk's technical support suggested, is:

restart: aContext
        | index process |
        "Restart the #handle:do: context."

        process := Process copyStack. 
        index := process indexOfContext: aContext.
        process restartAt: index 

Process>>copyStack is supposed to create a copy of the CurrentProcess,
so we should be able to manipulate it without messing things up.
Process>>indexOfContext: is a method we added that returns the
frame index of a given context, and it works correctly based on
independent tests.  But the result of running this method is
always an error in which the process' index into its indexed instance
variable is negative.  Checking things out, I added the following
test:

restart: aContext
        | index process |
        "Restart the #handle:do: context."

        process := Process copyStack. 
        process == CurrentProcess ifTrue: [self halt].
        index := process indexOfContext: aContext.
        process restartAt: index.

When this method is run, the halt in the block is activated, which
tells me that while Process>>copyStack has some side effects, it's
still returning the current process, rather than the non-active 
identical copy of the current process that I think I need.  Does
anyone out there have insights into this problem?

                                    Bob Hinkle
Newsgroups: comp.lang.smalltalk
From: muhr@opal.cs.tu-berlin.de (Thomas Muhr)
Subject: Re: Inference engines available?
Organization: Techn. University of Berlin, Germany
Distribution: bell
Date: Tue, 17 Nov 1992 22:32:03 GMT

chapman@bcoc0h.QE.Bell.CA (George Chapman) writes:

>You might want to try to dig up the PROLOG classes from st/v 286 and port them.
>This can't be that hard...hold on...i think the logic compiler class might be
>not avail in source...oh well as a last resort create it!
>-- 
>
>"Life is not a practice session."
Why not take the best of both worlds? ST80 has a decompiler....
- Thomas
--
Thomas Muhr - Project ATLAS - Technical University of Berlin
voice: +49 30 314 27882  fax: ...25959  
BITNET: muhrth@db0tui11  INTERNET: muhr@cs.tu-berlin.de
Compu$erve: 100013,377
Newsgroups: comp.lang.smalltalk
From: Joachim Geidel <geidel@wior360.wiwi.uni-karlsruhe.de>
Subject: OW\ST R4.1 Patch for Polyline>>outlineIntersects:
X-Xxmessage-Id: <A732FD16A4017B07@wiormac5.wiwi.uni-karlsruhe.de>
X-Xxdate: Fri, 20 Nov 92 19: 37:42 GMT
Organization: WIOR, Universitaet Karlsruhe (Germany)
X-Useragent: Nuntius v1.1.1d11
Date: Fri, 20 Nov 1992 19:37:17 GMT

"Polyline>>outlineIntersects: answers false whenever a Polyline has only
two points which have the same horizontal or vertical coordinate. This
results from the first test in the method which checks if the bounds of
the Polyline intersect aRectangle. If the Polyline is a horizontal or
vertical line, the bounds have height resp. width 0, and the test fails.
This is often wrong, of course, as the Polyline can still intersect the
outline
of the rectangle. The following method avoids this behaviour by skipping
the first test if the Polyline has only two points."

'From Objectworks\Smalltalk(R), Release 4.1 of 15 April 1992 on 20
November 1992 at 8:26:40 pm'!

!Polyline methodsFor: 'testing'!

outlineIntersects: aRectangle
	"Answer true if the receiver intersects the supplied rectangle."

	"Eliminate the trivial failures"
	"But avoid incorrect answer when the receiver is only a horizontal or
vertical 
	line segment."
	vertices size > 2 ifTrue: [(super outlineIntersects: aRectangle)
			ifFalse: [^false]].
	^self class vertices: vertices intersectsRectangle: aRectangle! !
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
X-Envelope-to: smalk@finhutc.BITNET
Date-warning: Date header was inserted by IRUCCVAX.UCC.IE
X-Sender: stcs8015@143.239.1.2
Newsgroups: comp.lang.smalltalk
Date:         Mon, 23 Nov 1992 21:24:00 GMT
From:         Tom Roche <STCS8015@IRUCCVAX.BITNET>
Subject:      Re: Instance Creator and Editor

Rick Hildebrant writes:

>I have a need to manually create instances of classes and then specify the
>corresponding instance variables, regardless of what object class they refer
>to.  It seems to me that this would be a commonly desired function and that
>some sort of "instance editor" ought to exist.  Can anyone point me in the
>direction of such an editor?  Many thanks in advance.

"Portia: An Instance-Centered Environment for Smalltalk"
by Eric Gold & Mary Beth Rosson,
in Proceedings of OOPSLA'91, pp.62-74

describes a Smalltalk environment which allows sophisticated manipulation
of individual class instances. I don't know anything about the general
availability of this environment, however, but the authors' address is
given as
           User Interface Institute,
           IBM T.J. Watson Research Center,
           P.O. Box 704,
           Yorktown Heights, New York 10598.

Another possibility is to use or extend the Drawing Inspector application
that comes with HotDraw - this gives you a graphical presentation of live
objects, which, if I remember correctly, can be edited.

Tom Roche,
Dept. of Computer Science, University College, Cork, Ireland.
stcs8015@iruccvax.ucc.ie
Newsgroups: comp.lang.smalltalk,comp.sys.mac.oop.misc
From: pnsf01dw@UMASSD.EDU (Dennis J. Wilkinson)
Subject: Smalltalk V/Mac Questions
Reply-To: pnsf01dw@UMASSD.EDU
Organization: UMASS DARTMOUTH, NO. DARTMOUTH, MA.
Date: Wed, 18 Nov 1992 19:07:27 GMT


To give some rudimentary background, we're attempting to take a CRC-Card (class,
responsibility, and collaborator cards, that is...) and implement it in
Smalltalk. 

One problem that we're having is integration with the Smalltalk/V (V1.2) Class
Library -- in short, we're hung up on the relative merits of new Object
subclasses which take advantage of a has-parts relationship with other objects
in the class library vs. inherits-from relationships (specifically from classes
like ApplicationWindow, Pen, Animation, etc.)

Also (we're still really just getting started with Smalltalk, even though I have
experience with other Object-Oriented and Object-Based environs), can anyone
suggest any good books that deal with Smalltalk/V Mac and/or the MVC paradigm???

Thanks in advance.
----------------------------------------------------
Dennis J. Wilkinson, II  (pnsf01dw@umassd.edu)
University of Massachusetts Dartmouth - Design/CS Project

The opinions reflected in this post are MINE!!!! ALL MINE!!!!!
Newsgroups: comp.lang.lisp
From: dorai@cs.rice.edu (Dorai Sitaram)
Subject: AKCL on DOS: command-line args and/or init file?
Keywords: AKCL
Organization: Rice University, Houston
Date: Sun, 15 Nov 1992 23:28:22 GMT


What additional information can a user supply via the
command line when invoking AKCL (version 608c) on MSDOS?
Can one echo CL (s-)expressions via a pipe?  Can files to be
loaded be mentioned after the command?  Or is there a
specified init file -- what is its pathname? -- that is
always searched, and if found, loaded?

I've used the commercial version, i.e., Ibuki CL, on Unix,
but the command-line features don't seem to transfer when I
try AKCL on DOS, although everything else matches nicely.

Thanks for any info.

--d
-- 

dorai@cs.rice.edu      !    It may be that the gulfs will wash us down;
dorai@owlnet.rice.edu  !      it may be we shall touch the Happy Isles.
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Elegant control structure wanted
Date: 19 Nov 1992 21:33:15 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com

In article <98373@netnews.upenn.edu> zaidel@muzungu.cis.upenn.edu (Martin J. Zaidel) writes:
>(defun node-equal (node1 node2)
>   (and (unless (slot1-equal slot1 slot2)
>	    (format t "Slot 1 not equal"))
>	 (unless (slot2-equal slot1 slot2)
>	    (format t "Slot 2 not equal"))
>	 (unless (slot3-equal slot1 slot2)
>	    (format t "Slot 3 not equal"))))
>
>This won't work, since UNLESS will return NIL, regardless of the 
>value of the slot-equal test.  

You can use OR instead of UNLESS; in fact, this is what people did all the
time before UNLESS was introduced.  The code then becomes

(defun node-equal (node1 node2)
  (and (or (slot1-equal node1 node2)
	   (format t "~&Slot 1 not equal.~%"))
       (or (slot2-equal node1 node2)
	   (format t "~&Slot 1 not equal.~%"))
       (or (slot3-equal node1 node2)
	   (format t "~&Slot 1 not equal.~%"))))

Actually, I prefer not to depend on the return value of FORMAT being NIL
(because I don't remember whether such return values are guaranteed), so
I'd probably write something like:

(defun node-equal (node1 node2)
  (and (or (slot1-equal node1 node2)
	   (progn (format t "~&Slot 1 not equal.~%")
                  nil))
       (or (slot2-equal node1 node2)
	   (progn (format t "~&Slot 1 not equal.~%")
                  nil))
       (or (slot3-equal node1 node2)
	   (progn (format t "~&Slot 1 not equal.~%")
                  nil))))

And now that the code is starting to look messy and repetitive, I'd
probably turn the repetitive code into a local macro:

(defun node-equal (node1 node2)
  (macrolet ((compare (tester slot-number)
               `(or (,tester node1 node2)
                    (progn (format t "~&Slot ~D not equal.~%" ,slot-number)
                           nil))))
    (and (compare slot1-equal 1)
         (compare slot2-equal 2)
         (compare slot3-equal 3))))
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
Newsgroups: comp.lang.lisp,comp.sys.hp
From: gt@cl.cam.ac.uk (Graham Titmus)
Subject: AKCL on HP snake
Keywords: HP 710 AKCL 
Organization: U of Cambridge Computer Lab, UK
Date: Thu, 19 Nov 1992 12:13:03 GMT

Has anyone managed to get AKCL working on an HP9000/710?  I can get it to build with either cc
or gcc but it will not compile and load user programs.  It managed to compile and build itself
perfectly happily though?  Is there something I have forgotten to set up for compile-file that
just gets done right by the makefiles?

BTW I picked up AKCL 1-615 and build that.
From: John.Carroll@cl.cam.ac.uk (John Carroll)
Newsgroups: comp.lang.lisp
Subject: Re: Commercial Lisp for OS/2 2.0
Date: 16 Nov 92 11:56:51 GMT
Followup-To: comp.lang.lisp
Organization: U of Cambridge Computer Lab, UK

In article <1992Nov16.105340.17212@cs.joensuu.fi>, jahonen@cs.joensuu.fi
(Jarmo Ahonen) wrote:
> Does anyone out there know if there is/will be any commercial
> Common Lisps (or any other dialects, CL preferred, however)
> for OS/2 2.0?  If not yet, then will there be such a product some 
> day? 

Procyon sell an OS/2 implementation of CL. They also developed a
Windows 3 version which has now become the new Franz Allegro CL\PC.

From the Lisp FAQ, part 4:

   Procyon Common Lisp runs on either the Apple Macintosh or IBM PC
   (386/486 or OS/2 native mode), costing 450 pounds sterling
(educational),
   1500 pounds ($795) commercial. It requires 2.5mb RAM on the Macintosh
and
               ^^^^^^
           actually $2250 commercial, $675 educational

   4mb RAM on PCs (4mb and more than 4mb recommended respectively).
   It is a full graphical environment, and includes a native CLOS with
   meta-object protocol, incremental compilation, foreign function
   interface, object inspector, text and structure editors, and debugger.
   Write to: Scientia Ltd., St. John's Innovation Centre, Cowley Road,
   Cambridge, CB4 4WS, UK, with phone +44-223-421221, fax +44-223-421218,
   and email UK0061@applelink.apple.com. An alternate address for US
   customers is: ExperTelligence, Inc., 5638 Hollister Ave, Suite 302,
   Goleta, CA 93117, or call 1-800-828-0113, (805) 967-1797. Their
   fax is (805) 964-8448 and email is D2042@applelink.apple.com. [The
   rights to the MS Windows version of Procyon were sold to Franz who are
   marketing and developing it as Allegro CL\PC. See Allegro's entry
   for more information.]

John Carroll

Cambridge University Computer Laboratory
(John.Carroll@cl.cam.ac.uk)
Xref: sparky comp.lang.lisp:2888 comp.lang.lisp.franz:51
From: nade@tsl.cl.nec.co.jp (NADEHARA Kouhei)
Newsgroups: comp.lang.lisp,comp.lang.lisp.franz
Subject: [Wanted] Franz Lisp for SPARCstation
Date: 16 Nov 92 09:17:14 GMT
Reply-To: nade%TSL.CL.NEC.co.jp@sj.nec.com
Distribution: comp
Organization: Term. Sys. Res. Lab., C&C Syst. Res. Labs., NEC, Kawasaki JP

Does anyone have "Franz Lisp" for Sun SPARCstation series?

I have been using "Franz Lisp" on Sun3 now, but I want to replace
Sun3 by SPARCstaion, so I need "Franz Lisp" for the SPARCstation.
I asked Franz Inc., but they say they don't have "Franz Lisp" for
the SPARCstation.

An older version of "Franz Lisp" for Sun3 was a free software,
then I wonder if there is someone who ported this software to
SPARCstatin.

Thanks in advance.

----
                        NADEHARA Kouhei [nade%TSL.CL.NEC.co.jp@sj.nec.com]
                  Terminal Sys. Res. Lab., C&C Sys. Res. Labs., NEC, Japan
Newsgroups: comp.lang.lisp,comp.lang.lisp.mcl
From: owens@gargoyle.uchicago.edu (Christopher Owens)
Subject: Re: remove
Organization: University of Chicago Computing Organizations
Date: Mon, 23 Nov 1992 17:10:19 GMT

In <1992Nov23.161022.20210@mail.cornell.edu> Tim Larkin <tsl1@cornell.edu> writes:

> On the other hand, Common Lisp, the Manual, states that "the result [of 
> remove] is a copy of the input sequence." If you return part of the 
> original list, then you change the contract of the function. Sometimes 
> one uses remove and requires a totally new list. One must be careful 
> about "efficiency".

I was just about to post exactly this response until, in a stunning
(for me) display of scholarship, I read a page further in the
reference and discovered what seems to me like an inconsistency in the
defined semantics of the function. (CLtL2, pg 400):

  "The result of REMOVE may share with the argument; a list result may
   share a tail with an input list, and the result may be eq to the
   input sequence if no elements need to be removed."



Newsgroups: comp.lang.lisp,comp.lang.lisp.mcl