HDTenEightyP/NetNews huggingface dataset:
From: quinton@sun-3.cs.uct.ac.za (Quinton Hoole)
Newsgroups: comp.lang.smalltalk
Subject: Running ST80 apps under Objectworks/Smalltalk
Summary: Has anyone enriched tObjectworks/Smalltalk to a superset of SmlTalk-80
Keywords: ParcPlace Objectworks Smalltalk-80 ThingLabII
Date: 21 Jul 92 11:12:39 GMT
Organization: Computer Science Department, University of Cape Town

I need to run an application (viz. ThingLabII) which was written for
version 2.3 of Smalltalk-80 from ParcPlace Systems under release 4
Objectworks/Smalltalk from the same guys. My intended approach is to enrich
the latter to support all of the classes of the former. Has anyone done
this already?  Does anyone else have a need for such a beast?  
WOULD ANYONE LIKE TO HELP? I am sure that the result would be useful to
quite a few people.

Yours in anticipated appreciation

Quinton Hoole


\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
 \_ Quinton Hoole, Computer Science Dept, University of Cape Town        \_
  \_ email: quinton@cs.uct.ac.za  code:+27(11) tel: 650-4057 Fax: 650-3726\_
   \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_

--
 \_ Quinton Hoole, Computer Science Dept, University of Cape Town  \_
  \_ code: +27 (11)  tel: 650-4057  Fax: 650-3726                   \_
   \_ email: quinton@cs.uct.ac.za                                    \_
    \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
Newsgroups: comp.lang.smalltalk
From: brent@uwovax.uwo.ca (Brent Sterner)
Subject: Re: Dictionary usage: questions ANSWERED.  Thanks.
Organization: University of Western Ont, London
Date: Thu, 30 Jul 1992 15:14:34 GMT

In article <1992Jul29.162205.1@uwovax.uwo.ca>, brent@uwovax.uwo.ca (Brent Sterner) writes:
>    I've just got back to st after a 3 month hiatus.  (I wasn't very far
>    in before I left. :-)  I'm exploring a dictionary of dictionaries.
> 
>    Q1:	Is there any way to "remove" a key (and it's association) from
> 	a dictionary?  (I had a quick look at declare:from: (the closest
> 	I could locate to this concept.  Was/am I close?
>    Q2:	Has anyone done anything with nested dictionaries in general?
> 	Perhaps you could save me some effort.
> 
>    Thanks for your help.  b.

	I received 3 replies; the first is briefest, and does what I
	intended.  (Not sure why I didn't see it while browsing the
	Dictionary class yesterday. )-:  Thanks to all who replied,  b.
------------------------
Dictionary>>removeKey:ifAbsent:

: : Jan Steinman           steinman@is.morgan.com                Bytesmiths : :
: : 2002 Parkside Court                            West Linn, OR 97068-2767 : :
: : 503/657-7703                                               212/956-8722 : :
------------------------
What kind of Smalltalk do you use? I'm not sure if ST/V dictionaries are the
same as ParcPlace ST dictionaries. If you use ParcPlace ST, then the answer
to Q1 is: send the message removeKey: to the dictionary, as in
        aDictionary removeKey: #key
You can find the method for the selector removeKey: in the protocol
'dictionary removing' of Dictionary.

Concerning Q2, nested dictionaries: Yes, I use them. But what do want to do
with them? If your remark about saving effort should be interpreted as
'Did anybody implement a class NestedDictionary?' then my answer is 'I didn't,
because it wasn't necessary so far.' I also very much doubt if it is necessary
at all. But maybe I misinterpreted Q2, so if you have any questions, send me
a message, and I'll do my best to answer them.

Joachim Geidel
Institut fuer Wirtschaftstheorie und Operations Research, Univ. Karlsruhe
geidel@wior360.wiwi.uni-karlsruhe.de   or   LC03@ibm3090.rz.uni-karlsruhe.de
------------------------
Why not try removeKey: ?-) (If it were not in the protocol for 'dictionary
removing' the implementation of declare:from: uses it)

|>    Q2:       Has anyone done anything with nested dictionaries in general?
|>      Perhaps you could save me some effort.

No, I have done nothing with nested dictionaries in general.

|>    Thanks for your help.  b.

You're welcome.
------------------------


--
Brent Sterner                       Manager, Academic Technical Support
Fast:       <BRENT@uwo.ca>          <129.100.2.13>
Telephone:  (519)661-2151 x 6036    Fax:   (519)661-3486
Slow:  Computing & Communications Services, Natural Sciences Building
       The University of Western Ontario, London, Ontario, Canada  N6A 5B7
From: terry@zoe.network23.com (Terry)
Subject: Re: Classic Smalltalk bugs
Organization: Mystech Associates
Date: Sat, 25 Jul 1992 21:38:49 GMT

From article <1992Jul24.204716@cs.man.ac.uk>, by mario@cs.man.ac.uk (Mario Wolczko):
> CompiledCode>methodSizeAvoiding: in 4.0):
> 	space := space + lit class instSize * 4.
> Spot anything fishy?
> 
> How about if I rewrite it to be correct? 
> 	space := space + (lit class instSize * 4).
> 
> Yup, (lack of) precedence strikes again!
> 
> Mario Wolczko

Here is another classical precedence bug

point := x @ height * n.

The correct expression would be:

point := x @ (height * n).

Terry
-- 
terry@zoe.network23.com
{rayssd,xanth,mirror,att}!galaxia!zoe!terry
From: shotop@vms.eurokom.ie
Newsgroups: comp.lang.smalltalk
Subject: post
Date: 30 Jul 92 08:57:20 CET
Organization: EuroKom Conferencing Service

i am looking for a smalltalk environment on macintosh. it should run on any mac
(lets say a classic with 4mb as the lower bound...) and the ability of creating
a standalone program would be nice...
 
could anyone give me suggestions what to buy? 
 
and, since i am a smalltalk beginner, what are the differences between st-V and
st-80?

thanks,
stefan.

stefan.hotop.esg@eurokom.ie
---
esg
vogelweideplatz 9
8000 muenchen 80
germany
---


t<yp


help


enter






  type
post
From: zanm03@cal.amoco.com
Newsgroups: comp.lang.smalltalk
Date: 17 Jul 92 20:51 MDT
Subject: Re: Possible ParcPlace participle p
Nf-ID: #N:ZANM03.92Jul17095138@calw0057.ca:2055068087:001:2545
Nf-From: cal.amoco.com!zanm03    Jul 17 20:51:00 1992


>>>>> On 15 Jul 92 15:47:18 GMT, eanv20@castle.ed.ac.uk (John Woods) said:

John> I'm trying to fix some 4.0 code to 4.1 --- recently I've been
John> trying my hand at the excellent HotDraw, which I obtained from
John> the mushroom archives.

John> Whereas in 4.0, nothing implemented `translatedBy:', the only
John> thing in the basic 4.1 setup to retain the previously used
John> `translateBy:' is GraphicsContext.  All the other graphical
John> classes have been changed to use the past participle.  I also
John> found that the Rectangle `expandBy:' has become `expandedBy:'
John> and I expect to encounter further cases.  Is this a deliberate
John> policy on ParcPlace's side?  If so, why does GraphicsContext
John> remain in the present?  (It's kind of neat that it does, as it
John> seems to be the only `active' one to me, the rest returning a
John> shape that has already been altered before any visual difference
John> could be observed.)  It would be nice to know if there were any
John> rules/guidelines about these cases, as well as class names.

From the 4.1 Release Notes:
The change of transformation method names to the past participle was
prompted my the need to reflect the fact the transformation produced a
*new* object. translateBy: in GraphicsContext do *not* answer a new
object, rather just alters internal state. 

I approve of the changes, even though I suspect that a more automated
way of porting these changes could have been developed by PP.

John> P.S.: Maybe we could start up a file to be submitted to the
John> archives containing guidelines for 4.0 -> 4.1 conversion.  I
John> guess the best format would be a file with huge comments and a
John> little active code which could be executed.  If anyone's
John> listening, here's my $0.02 worth.  (Actually probably less that
John> $0.01, coz I don't yet know how to write code which modifies and
John> re-accepts ofther classes.)

Sounds like a good idea. It would help the ST80 community port 4.0 code
to 4.1 if we could advice each other on mechanizes that where used.
For instance the *big* problems I have is reclassing subclasses of
EdgeWiget and EdgeWigetWrapper correctly, making the needed method
name translations etc, adapting to the new scrolling hiers., and
tracking changes to system classes that are not implimented by the
backward compat stuff, (where methods in the system classes have
changed there internals, and affect you applications operations).

Anthony
--
--
Anthony Mutiso (amutiso@cal.amoco.com)                Life-motto: Logic Rules.
From: hasko@heeg.de (Hasko Heinecke)
Newsgroups: comp.lang.smalltalk
Subject: Not again static type checking (was: Classic Smalltalk bugs)
Date: 21 Jul 92 14:03:38 GMT
Organization: Georg Heeg Objektorientierte Systeme, Dortmund, FRG

In article <1992Jul18.113941.30839@m.cs.uiuc.edu> johnson@m.cs.uiuc.edu (Ralph Johnson) writes:
>Another bug that I see nearly everyone make is that add: returns its
>argument, not the receiver, and people usually assume that it returns
>its receiver.  Thus, they write "(c add: x) add: y" when they should
>really write "c add: x; add: y" or else "c add: x. c add: y".  This
>is a bug that would be caught by static type-checking.

Would it? What about

| c x y |
c := OrderedCollection new: 10.
x := OrderedCollection new: 10.
y := 17.
(c add: x) add: y.
c add: x; add: y.

How should static type checking help?

Hasko
-- 
+-------------------------------------------------------+
| Hasko Heinecke @ Georg Heeg Objektorientierte Systeme |
| I _never_ mean what I say - and nobody else does...   |
+-------------------------------------------------------+
From: shotop@vms.eurokom.ie
Newsgroups: comp.lang.smalltalk
Subject: post
Date: 30 Jul 92 09:01:23 CET
Organization: EuroKom Conferencing Service

sorry for the garbage in the previous posting...
it seems that i cannot handle a dumb terminal, ;-)
stefan hotop.

sorry for the garbage...
From: ghazi@caip.rutgers.edu (Kaveh R. Ghazi)
Newsgroups: comp.lang.smalltalk
Subject: Re: encapsulated postscript from st80 4.1 ?
Date: 30 Jul 92 17:12:19 GMT
Organization: Rutgers Univ., New Brunswick, N.J.


 > 	Does anyone know how to get encapsulated postscript pictures out of
 > the Printing.st fileIn code that comes with st80 v4.1?  I asked PP support
 > and they responded along the lines of, we tried and couldn't get it to work.
 > I need to include smalltalk pictures in other documents.  Any help would be
 > appreciated.
 > 		Thanks,
 > 		--Kaveh

	Using the pbm graphics package I determined that the following
pipeline emulates the smalltalk behavior exactly (for X11 versions) while
at the same time producing encapsulated postscript:

"xwd -screen | xwdtopnm | pnmtops -rle -noturn -scale 0.5 | tee foo.ps | lpr"

	You can adjust it to your tastes.

		--Kaveh
-- 
Kaveh R. Ghazi			CAIP Center, Rutgers University.
ghazi@caip.rutgers.edu		rutgers!caip.rutgers.edu!ghazi
From: deutsch@SMLI.Eng.Sun.COM (L. Peter Deutsch)
Newsgroups: comp.lang.smalltalk
Subject: Operator precedence
Date: 30 Jul 92 13:25:33
Organization: Sun Microsystems Laboratories Inc.
Distribution: comp
	<78mm1rh.peterg@netcom.com>
	<DEUTSCH.92Jul28161656@luxembourg.SMLI.Eng.Sun.COM>
	<1992Jul30.100830.2117@heeg.de>
NNTP-Posting-Host: luxembourg.eng.sun.com
In-reply-to: hasko@heeg.de's message of 30 Jul 92 10:08:30 GMT

> Well, I don't know what people have against operator precedence. I know the
> relative precedenes of +, -, *, and /, and the relative precedences of &,
> !, and ~. If you have any examples where you want to mix these two groups
> of operators, please tell me.

Example 1: hash coding.
	hash = (x >> 10) + (x >> 5) + x
Don't tell me to use a different hash code (like a remainder code) just
because it takes fewer characters to write.

Example 2: Within-cell proximity testing.
	(x & mask) == ((x + delta) & mask)
Don't tell me to use remainder.  The semantics of remainder vary
notoriously from machine to machine.

Example 3: 
> And I don't mean examples like: "My compiler is too dumb to substitute x :=
> x / 4 with x asl 2 or whatever, so I have to do it myself."

Sorry to disillusion you, but I have to live in the real world, where not
only are nearly all compilers too dumb to do that substitution, but most of
them don't even compile the language semantics correctly in some cases.

Example 4: Anything involving shifting.
How do <<, + -, and & compare?  Do I have to parenthesize
	x << (n - 8)
or don't I?  What about
	(x << 8) | y
?

'Nuff said.
Newsgroups: comp.lang.smalltalk
From: nagle@netcom.com (John Nagle)
Newsgroups: comp.lang.smalltalk,comp.lang.c++
Subject: Re: Classic Smalltalk bugs
Date: 21 Jul 92 19:00:51 GMT
Organization: Netcom - Online Communication Services  (408 241-9760 guest)

knight@mrco.carleton.ca (Alan Knight) writes:
>With collections, there is also the classic error of iterating over a
>collection which the iteration loop somehow modifies. In some cases
>the modification can be quite indirect and the effects difficult to
>locate.

       Yes, this is a problem.  It's also a problem with C++ iterators,
and it tends to be worse in C++, because one can end up referencing
deallocated objects.

       The basic problem is that some classes aren't reentrant, and we
don't have a way to detect unwanted reentrancy in either Smalltalk or 
C++.  I hear ParcPlace has a neat solution for this in the works.

       I've found this a serious problem in a Mac class library for
a GUI, where some sequences of events result in deletions from a list
being iterated over.

					John Nagle
From: mjb@netcom.com (Martin Brown)
Newsgroups: comp.lang.smalltalk
Subject: FYI: Jy irc meeting transcript
Date: 24 Jul 92 08:13:55 GMT
Organization: Netcom - Online Communication Services  (408 241-9760 guest)

I have uploaded to the smalltalk archive (st.cs.uiuc.edu) the transcript
of the July 8, 1992 smalltalk irc meeting.  The file is "ircjul92.txt.Z"
and as you see is compressed.  It is in the directory pub/tmp.  I see that
a directory for irc stuff has been made, and hopefully, this will make it
there as well.
-- 

                                   - mjb -

                                mjb@netcom.com
Newsgroups: comp.lang.smalltalk
From: ac690@cleveland.Freenet.Edu (Edward Klimas)
Subject: Re: Objectworks\Smalltalk for OS/2
Reply-To: ac690@cleveland.Freenet.Edu (Edward Klimas)
Organization: Linea Engineering Inc, Cleveland, OH (USA)
Date: Fri, 31 Jul 92 05:56:07 GMT


In a previous article, georg@heeg.de (Georg Heeg) says:

>The product version runs actually faster then the Windows version:
>Same image, same computer. We benchmarked 399.5 % Dorado on an 80486 33 MHz.
	Any comments about the way it supports multithreaded 
	Smalltalk applications?

	Ed Klimas
From: johnson@m.cs.uiuc.edu
Newsgroups: comp.lang.smalltalk
Date: 18 Jul 92 15:39 MDT
Subject: Classic Smalltalk bugs
Nf-ID: #N:1992Jul18.113941.30839@m.cs.uiuc:-2064913968:001:1168
Nf-From: m.cs.uiuc.edu!johnson    Jul 18 15:39:00 1992


I'd like to start a collection of classic Smalltalk bugs.  These are
bugs that every new Smalltalk programmer runs into.  The idea is that
if we teach these bugs up front then people can learn to be good
programmers faster.

We just saw one; if you add an instance variable to a variable-sized
class then you have to make sure that if an instance grows then the
variable gets copied. 

Another bug that I see nearly everyone make is that add: returns its
argument, not the receiver, and people usually assume that it returns
its receiver.  Thus, they write "(c add: x) add: y" when they should
really write "c add: x; add: y" or else "c add: x. c add: y".  This
is a bug that would be caught by static type-checking.

Another classic bug is that a class instance creation method leaves
out the return statement, so it is 
  super new init
instead of 
  ^super new init
The result is that you have the class where you want the instance of
the class.  It seems to me that half the time I leave off a return,
it is in an instance creation method.

What common bugs do you see?  What bug bit you most recently?

Ralph Johnson -- University of Illinois at Urbana-Champaign

Newsgroups: comp.lang.smalltalk
From: sullivan@ticipa.ti.com (Michael Sullivan)
Subject: Re: Classic Smalltalk bugs
Reply-To: sullivan@mtc.ti.com
Organization: Semiconductor Process & Design Center
Date: Sat, 25 Jul 1992 20:33:06 GMT

I use the inject:into: iterator extensively, and I continually get
caught for not having the last statement in the block return the next
value of the collector.  For example, a common mistake I make is:

someCollection
  inject: Set new
  into: [:collectorSet :anArg |
	 collectorSet add: <some operation over anArg>].

and then find myself in the debugger when collectorSet is bound on the
second iteration to the arg that was added on the first iteration.

Where the correct block SHOULD be:

someCollection
  inject: Set new
  into: [:collectorSet :anArg |
	 collectorSet add: <some operation over anArg>.
	 collectorSet].


--
____________________________________________________________

Mike Sullivan
sullivan@mtc.ti.com

Newsgroups: comp.lang.smalltalk
From: daugher@cs.tamu.edu(Walter C. Daugherity)
Subject: Re: Smalltalk compiler suggestions?
Keywords: A Little Smalltalk
Reply-To: daugher@cs.tamu.edu
Organization: Texas A&M University, College Station
Date: Tue, 21 Jul 1992 23:16:28 GMT

In article <z7cmmmf@lynx.unm.edu> john@spectre.unm.edu (John Prentice) writes:
| I posted this same question last week, but to my astonishment, I haven't
| received one response.  So here goes again :-) .  I am new to smalltalk and
| OOPS.  I am looking for a interpreter/compiler to play with the language on.
| I am interested in running it on a 286 laptop most likely, though I also
| could run it on either my 386 system or my Sparc 2.  Since I am just playing
| with the language and not trying to do serious work with it, I would prefer
| to keep the cost of the interpreter/compiler low, but I would consider  
anything
| up to a thousand or so.  Any suggestions on where to look would be much
| appreciated!
| 

Timothy Budd's "A Little Smalltalk" for PC's (a simplified Smalltalk) may be  
FTP'd from cs.orst.edu.

--
Walter C. Daugherity			Internet, NeXTmail: daugher@cs.tamu.edu
Texas A & M University			uucp: uunet!cs.tamu.edu!daugher
College Station, TX 77843-3112		BITNET: DAUGHER@TAMVENUS
	---Not an official document of Texas A&M---
Newsgroups: comp.lang.smalltalk
From: huggins@ticipa.pac.sc.ti.com (Gray Huggins)
Subject: Collection>>addAll: problems on Dictionaries
Reply-To: huggins@ticipa.mtc.ti.com
Organization: Process Automation Center
Date: Sat, 25 Jul 1992 22:19:31 GMT


An interesting question has come up about the proper behavior of 
Collection>>addAll: when used on a Dictionary in Smalltalk 80.  As
inhierited, addAll: when sent to a Dictionary will only work if passed
a collection of Associations.  (A condition which is not checked for,
thus anything else will get a "does not understand key:")

Does it make sense to you to "add all" of a Dictionary to a Dictionary?
If so, it could be done like this...

	dict1 addAll: dict2.

This will not work using the addAll: inhierited from Collection
because it uses do: to itterate over dict2 which works fine for values
but in this case requires the real Associations!

The interesting question is not how to get this to work.  That was
accomplished by overriding addAll: and if dict2 isKindOf: Dictionary
simply use associationsDo: instead of do:.  No, the real debate
centered around what Dictionary contains.

Is it a collection of values that happen to be keyed, in which case
the values are of prime interest.  Or is it a collection of
Associations, in which case the key/value pair is of prime interest.
The behavior on Dictionary does not answer this question.
Most users of Dictionaries do not add to them using...

	dict1 add: (Association key: #me value: #you).  

Rather they tend to...

	dict1 at: #me put: #you.

Therefore, the fact that do: itterates over values makes more sense.
If you buy into that argument, then overriding addAll: to do special
behavior for Dictionaries sounds good.  

If you choose to believe the values are unimportant except when
associated with their key, then Dictionary>>do: should be itterating
over the Associations, NOT the values.  If that were the case, there
would be no need to override addAll:.  I believe this is the ST/V
behavior.

I have never been real fond of the fact that the implementation of
Dictionary is soooo public.  (Everyone knows it's done with
Associations).  But that fact is not going to change.  (Which might
server to agrue that Dictionaries by design are collections of
Associations!)

I'll stop rambling for now, but I would like to get some feedback
before I report the Collection>>addAll: as a bug when sent to
Dictionaries.

--
Gray Huggins                   Internet: huggins@ticipa.mtc.ti.com
Texas Instruments                                          
PO Box 655012  M/S 3635        TI MSG:  GHUG
Dallas, TX 75265               Voice:   (214) 917-2202
--
Gray Huggins                   Internet: huggins@ticipa.mtc.ti.com
Texas Instruments                                          
PO Box 655012  M/S 3635        TI MSG:  GHUG
Dallas, TX 75265               Voice:   (214) 917-2202
From: tim@parcplace.com (Tim Rowledge)
Newsgroups: comp.lang.smalltalk
Subject: Re: Smalltalk on Windows NT
Date: 23 Jul 92 16:03:17 GMT

rupertb@is.morgan.com (Rupert Brown) writes:

>Has anyone else tried running either Digitalk's V/Win 2.0 or ParcPlace
>r4.1 for Windows on the recently "pre-released" WinNT SDK ?
>I get a GP fault in KRNL286.EXE running V/Win 2.0 and a "Cannot find Mouse.DLL"
>when trying to run ParcPlace r4.1 for Windows.
I'm afraid there is *no* chance whatsoever that our Windows VM will run
under NT.  The things we have to do to make the VM (a 32 bit app.) run
under Windows (a 16bit disaster area) basically involve fooling the memory
management hardware into letting us have access to the entire 4Gb space.
There is also much 'thunking' to translate a call to say "WinEnumFonts" f
from 32bit land to 16bit alnd and I doubt that our method for doing this is
compatible with NTs.
Of course, if I could get NT to install on any of our machines, I might be
able to be more precise... if you'd like to mail me with your secret for
getting it to install, Rupert, I'd be grateful!

Tim Rowledge->tim@Parcplace.com

: I used a PC once, but it's ok, I didn't inhale

Newsgroups: comp.lang.smalltalk
From: jeff@is.s.u-tokyo.ac.jp (Jeff McAffer)
Subject: Re: Where can I find an Actor smiulator in Smalltalk?
Reply-To: jeff@is.s.u-tokyo.ac.jp
Organization: Dept. of Infomation Science, University of Tokyo.
Date: Thu, 23 Jul 1992 16:53:09 GMT

In article <1992Jul23.134801.3979@debbie.cc.nctu.edu.tw> chchen@csie.nctu.edu.tw (a) writes:

 >	  We got a message saying that there is an Actor simulator in
 >	  Smalltalk. Could anybody tell us how and where to get the
 >	  package?

Sort of depends on what you are looking for.  None of the ones I know
about strictly adhere to the Actor definitions a la Agha and Hewitt
but rather implement some sort of concurrent ST objects.  There are
researchy ones which have appeared in conferences (sorry, no
proceedings here so I can't reference).  Look for AcTalk from JP Briot
(OOPSLA?).  My apologies to Jean-Pierre if AcTalk is more than
researchy.  There are some others but I can't remember right now.  I
will try and find them.

If you want real industrial strength commercial stuff mail to:

info@oti.on.ca

and ask for info on ENVY/Actra.  There are several OOPSLA conference
and workshop papers which talk about various applications of Actra.
Actra is both a 'simulator' (I hate that word in this context) on
uniprocessor platforms (V286...) and a real MP ST on various
platforms.

--
atode, |m         -- Please bear with us while we remodel our .signature.
                     We apologize for any inconvenience this may cause.
Newsgroups: comp.lang.smalltalk