HDTenEightyP/NetNews huggingface dataset:
From: steinman@is.morgan.com (Jan Steinman)
Subject: Re: comparing object-oriented platforms
Organization: Morgan Stanley & Company
Date: Thu, 8 Oct 1992 16:29:45 GMT

In article <718538944snx@feki.toppoint.de> marten@feki.toppoint.de (Marten Feldtmann) writes:
   nadja@jetsun.weitek.COM writes in article <1992Oct5.182656.15573@jetsun.weitek.COM>:

   > What applications don't use complex arithmetic functions? I have yet to
   > find a business app that didn't do a lot of calculations...

   ...*I* think about applications e.g. like Excel, Lotus 1-2-3 or
   Mathematica, which main purposes are to do mathematical processing
   expecially with floating point numbers...

Business apps *should not* be using limited precision numbers to
represent quantities! It is pretty easy to do fast fixed-point in
Smalltalk. (Fixed is a gaping hole in Smalltalk's othewise
well-thought-out Number hierarchy.) The biggest part (only necessary
for performance) is writing the missing arbitrary precision
primitives, but you can get everything else working first, and
implement the primitives as performance concerns dictate.

Of course, if you have customers who don't mind rounding off tens of
dollars out of every million, don't worry, be happy! I believe even
Double will lose a few significant figures off the National Debt...

--
: : Jan Steinman	     bytesmiths@aol.com			 Bytesmiths : :
: : 2002 Parkside Court				   West Linn, OR 97068-2767 : :
: : 503/657-7703					       212/956-8722 : :
Newsgroups: comp.lang.smalltalk
From: bruce@utafll.uta.edu (Bruce Samuelson)
Subject: Re: Converting a Smalltalk-80 App. to C++
Organization: UTexas at Arlington, Linguistics
Date: Mon, 12 Oct 1992 00:01:13 GMT

Before dumping Sm80, you should at least try to negotiate an
acceptable runtime fee.  I have found ParcPlace to be flexible and
reasonable.  I belong to another organization in addition to a
university and was able to negotiate educational discounts for
developer's packages and reasonable runtimes for this organization.

If you do not get satisfaction from ParcPlace, there is a class
library for C++ patterned after the MVC paradigm.  I forget its name.
It might be Views.  You could ask comp.lang.c++ about it.  To my
knowledge, the modern versions of ST/V have abandoned MVC in favor of
a paradigm more closely tied to the native windowing environment.
Even so, I would expect it to be much less work porting your code to
ST/V than to C++.
--
**********************************************************
* Bruce Samuelson	Department of Linguistics	 *
* bruce@ling.uta.edu	University of Texas at Arlington *
**********************************************************


Newsgroups: comp.lang.smalltalk
From: marcoxa@IMAGE.CS.NYU.EDU (Marco Antoniotti)
Subject: Pointer needed to T-Gen parser generator
Organization: New York University
Distribution: worldwide
Date: Sat, 10 Oct 1992 15:43:37 GMT


Hello,

I need a pointer to the T-Gen parser generator. I think it is somewhere
at UIUC but I lost :-( the full ftp address.

Sorry for the waste of bandwitdh, please email directly to me any
answer. The address is marcoxa@cs.nyu.edu.

Thanks
Newsgroups: comp.lang.smalltalk
From: u9034307@cs.uow.edu.au (James Roger Baxendale)
Subject: Background process promoted to immediate execution?
Organization: Dept of Computer Science, Wollongong University, Australia
Date: Mon, 12 Oct 1992 10:32:12 GMT


	Does anyone know how to promote a process that has been forked at 
	userBackgroundPriority to be run immediately?? I am currently working
	on my software project and am trying to speed up response time by
	allowing processes to run in the background when the user is idle
	But at some points in execution I must guarentee that the background
	process has finished. There will only ever be one background process
	at a time.

	I have tried changing the priority but unfortunately this does not
	re-schedule the process at the new priority (i.e put the new process in
	the higher priorities list), all it does is change the priority and
	leave the process in the lower priority list.

	The idea was to:
	1. Change background processes priority to be that of active Process.
	2. Tell the active process to yield until the background process gains
	the processor.

	But as the process doesn't get scheduled at the higher priority this
	won't work...

	There are two possible solutions that I could think of but neither seem
	to guarentee immediate execution of the background process.
	The first is:

	1. Determine if the background process is finished, if it is do
	nothing, otherwise proceed to steps 2-5.
	2. Get the active process and store a reference to it.
	3. Tell the activeProcess to suspend.
	4. Hope the background process gets the processor (which it seems to
	do)
	5. Have the background process resume the active process as it's last
	operation (of course only if the activeProcess was suspended).

	The problem with this is how can we be sure that the process to gain
	the processor next will be the background process??? Also what if
	the process was half finished at step 1? Process doesn't seem to
	provide facilities for checking a processes state. (At the moment I
	just find out how many userBackgroundProcesses there are and if it is
	0 then the process is finished)

	The second is: 

	1. When the process is forked save the block that was forked as well
	as a reference to that process (I am using forkAt: Processor
	userBackgroundPriority) to create the process.  
	2. If the process is already finished do nothing otherwise proceed
	to steps 3 & 4.  
	3.  Terminate the process forked before (i.e background process) 
	4. Re - fork the block that makes the process (saved above) at a
	process equal or greater to the active process priority (probably
	userInterruptPriority)

	Again the problem with this method is what to do if the process is
	already half finished when we arrive at step 2, how can you tell?? If
	you could tell, then simply let the process run to completion if
	already	partly run.

	If anyone has any comments on the two methods suggested or any new
	ideas they would be greatly appreciated.
	

	Thanks James

	Replies to:
	u9034307@cs.uow.edu.au
	or post here.


Newsgroups: comp.lang.smalltalk
From: gitting@us-es.sel.de (Claus Gittinger)
Subject: Re: General Arithmatic
Organization: me myselfS
Date: Tue, 13 Oct 92 16:43:50 GMT

In article <1992Oct12.232718.2205@ucselx.sdsu.edu>, maxc0438@ucselx.sdsu.edu (Stephen Treger) writes:
|> I am trying to read from an array a set of integers.
|> Then perform a simple arithmatic expression (eg: add 1) and return the 
|> new value for each number of the array.
|> 
|> Here is what I was trying:
|>   |number newnumber |
|> 
|> number := #( 2 4 6 8 ).
|> 
|> number do: [ item |
|>            newnumber := item + 1 ]

this will leave 9 in newnumber :-).

try:

  newnumber := number collect:[ :item | item + 1]

to get what (I think) you want.


claus
Newsgroups: comp.lang.smalltalk
Subject: enfin/2 vs Smalltalk/v
From: dugerdil@uni2a.unige.ch
Date: 14 Oct 92 08:42:58 +0200
Organization: University of Geneva, Switzerland

Dear Netters,

We currently are in the process of choosing a Smalltalk-based environment
to develop our own projects (we develop under Windows and OS/2).

Two candidates are under evaluation: Smalltalk/V and Enfin/2.

Although I have some experience in programming witn Smalltalk/V, Enfin is new
for me.

Enfin/2 seems to be an environment with a Smalltalk-like language, nice
user interface building tool, bridges to database, bridge to HLLAPI (OS/2), etc.
In a shallow browsing of Enfin/2, I found the programming tools less efficient
than those found in ST/V. For exemple, you cannot edit code in the class
browser, you must use another tool dedicated to the creation and modification
of classes. You cannot freely edit code in the Transcript, there is yet another
tool (the Workspace)to edit and evaluate expressions. The advantage of
Enfin/2 under Smalltalk/V is that the product comes with all the bridges to
the external world (databases, API's).

Does someboby have already done such an evaluation of these two environment ?

Can one find for Smalltalk/V, on the market, all the bridges and interfaces 
that come with Enfin ?

Thanks in advance for any comment.

Philippe Dugerdil
Geneva / Switzerland
From: peskin@caip.rutgers.edu (Richard L. Peskin)
Newsgroups: comp.lang.smalltalk
Subject: Re: Numeric Computing with Smalltalk
Date: 12 Oct 92 20:44:16 GMT
Organization: Rutgers University
X-UserAgent: Nuntius v1.1.1d10
X-XXMessage-ID: <A6FF5C1D6A011314@cello.rutgers.edu>
X-XXDate: Mon, 12 Oct 92 16:45:17 GMT

In article <BRUCE.92Oct8082838@utafll.utafll.uta.edu> Bruce Samuelson,
bruce@utafll.uta.edu writes:
>There are examples in the literature (OOPSLA conference proceedings)
>of large number crunching applications that take the approach I
>describe.  Recalling roughly from my memory, one is an applied math
>system at some east cost university (Rutgers?) in which Smalltalk
>controls the application while distributing heavy duty number
>crunching to appropriate compute engines on a network.  


The Rutgers SCENE system is based in Smalltalk but uses distributed
computing to do number crunching via C programs. Putting "performance"
comparisons between Smalltalk and C (or Fortran) aside for a moment,
there is another (and perhaps more serious problem) when one uses
Smalltalk for "number crunching". Many number crunching jobs produce very
large dat sets. These result in a very large number of objects in
Smalltalk. We have found that efficient use of Smalltalk for number
crunching, or any handling of large scientific data sets, requires that
much of this data be manipulated with C programs. What gets passed back
to Smalltalk should be restricted to only that needed for interactive
purposes, such as graphical display, symbolic manipulation, etc.

--dick peskin
=================================
R. L. Peskin,  Rutgers Univ. ; <peskin@caip.rutgers.edu>;  908/932-3685
"Good work is always done in defiance of management."  R. Woodward
From: Hubert.Baumeister@mpi-sb.mpg.de (Hubert Baumeister)
Newsgroups: comp.lang.smalltalk
Subject: Re: Background process promoted to immediate execution?
Date: 14 Oct 92 10:18:52 GMT
Organization: Max-Planck-Institut f"ur Informatik

In article <1992Oct12.103212.26622@cs.uow.edu.au>, u9034307@cs.uow.edu.au (James Roger Baxendale) writes:
|> 
|> 	Does anyone know how to promote a process that has been forked at 
|> 	userBackgroundPriority to be run immediately?? I am currently working
|> 	on my software project and am trying to speed up response time by
|> 	allowing processes to run in the background when the user is idle
|> 	But at some points in execution I must guarentee that the background
|> 	process has finished. There will only ever be one background process
|> 	at a time.
|> 
|> 	I have tried changing the priority but unfortunately this does not
|> 	re-schedule the process at the new priority (i.e put the new process in
|> 	the higher priorities list), all it does is change the priority and
|> 	leave the process in the lower priority list.

This is not true. If you set the priority of a process it is rescheduled.
Execute the following code

[| i | 
i := 0.
[true] whileTrue: [Transcript nextPutAll: 'i: ', i printString;cr; endEntry.
				   (Delay forSeconds: 0.5) wait.
					i:= i+1]] newProcess inspect.

In the inspector evaluate: 

self priority: Processor userBackgroundPriority.
self resume.

If you do something, like moving the mouse in a Smalltalk window, the output
on SystemTranscript will stop. Now evaluate:

self priority: Processor userInterruptPriority.

Now when moving your mouse the output in SystemTranscript will not stop.
This indicates that now the process runs on a higher priority.

If you do again

self priority: Processor userBackgroundPriority.

the output will stop again when moving the mouse.

This works as described in Objectworks/Smalltalk R4.1. In principle this
works the same in Objectworks/Smalltalk R4.0 but the rescheduling will only
take place if you leave Smalltalk a few seconds on its one.

Hubert

PS: As you see it is important which version of Smalltalk you are using; so
next time please tell us which version you refer to.

-- 
Hubert Baumeister
MPI Informatik, Im Stadtwald, W-6600 Saarbr"ucken, Germany
Phone: (x49-681)302-5432
e-mail: Hubert.Baumeister@mpi-sb.mpg.de
Newsgroups: comp.lang.smalltalk
From: Adi Sumantri
Subject: TestTool for Macintosh
Organization: Prodigy Technologies Corp
Date: Wed, 14 Oct 1992 20:56:25 GMT

Is there any good test-tool like X-Runner/Test-Runner for Macintosh?
We are interest with a test-tool as powerfull as X-Runner/Test-Runner but it
cost less. If, so has somebody experient using this tool with Smalltalk-80?
Any comment for this test tool are welcome.

Thanks
-Adi

Prodigy Tech. Corp.
sumantri@prodigy.bc.ca
From: nadja@jetsun.weitek.COM (Nadja Adolf)
Newsgroups: comp.lang.smalltalk
Subject: Re: Least Memory for a PPR4 application (or recode in C++!?!)
Date: 12 Oct 92 18:54:54 GMT
Organization: WEITEK Corporation, Sunnyvale CA

In article <BRUCE.92Oct10103207@utafll.utafll.uta.edu> bruce@utafll.uta.edu (Bruce Samuelson) writes:
>They still figured this would require 4MB.  But
>then they got cold feet when their competitors were demoing their
>stuff at a trade show on 2MB machines, so my friend unhappily has
>recommended implementing their product in C++.  

>I said that no serious
>Windows user has less than 4MB, and that he could get to market
>quicker with Smalltalk and have a cheaper maintenance/ehancement
>cycle.  My arguments couldn't overcome his terror at seeing competing
>products that were memory efficient.  Speed wasn't an issue in his
>case, since he would have used C underneath Smalltalk when necessary.

Excuse me? Many corporations set up their PCs with the minimum required
RAM for enhanced mode - 2MB.


-- 
The Earth Pig Bourne....

nadja@node.com (prefered email address)
nadja@weitek.com
From: thf@otter.hpl.hp.com (Toby Ferguson)
Date: Mon, 12 Oct 1992 13:48:59 GMT
Subject: Code control for Smalltalk
Organization: Hewlett-Packard Laboratories, Bristol, UK.
Newsgroups: comp.lang.smalltalk
Distribution: comp.lang.smalltalk
Reply-To: thf@otter.hpl.hp.com

I'm interested in finding out about how to manage smalltalk code releases in
smalltalk.  A group with whom I work have written their own release mechanism
(which we've modified) for Parc Place Smalltalk , but I can't help think that
we're reinventing the wheel - surely many other people have had to cope with
similar problems in the past - how have they managed?

The code control system we have allows us to:

- add a version number (nn.mm) to the launcher - so's we can see what version
  of code is running at any one time

- release (via the change list or the change set) a collection of changes to
  the project - the changes thus filed out are related to the version number
  which they changed.

- recreate, from a 'virgin' image, any named version.

We added this stuff 'cos, to our knowledge,  Parc Place's Objectworks doesn't
explicitly support the notion of identifiable image versions.

However, the down side of the mechanism we use is that we end up with hundreds
of small files, and a whopping great big .changes file.  No problem, run
condenseChanges on the .changes file and everything will be dandy.  Uh oh!
This doesn't work 'cos what we want to be able to do is to take an image as
supplied by Parc Place and run our changes against it to recreate the new
image.  However condenseChanges deletes all of the class definitions from the
.changes file, leaving them in the image (I guess).  So, the .changes file
we're left with is NOT sufficient to change a virgin image to our final image.

What we want is something equivalent to condenseChanges but which leaves the
minimum set of changes to go from the original image to the final image.  We
can do this manually, but is there something extant that'll do it for us?

Further Questions:

1) What are other people's experiences with code control of Smalltalk code?

2) How does the notion of a project fit in with code control?

toby
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Is there a PACKAGE PROBLEM in Allegro?
Date: 8 Oct 1992 23:04:14 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
Distribution: usa
NNTP-Posting-Host: telecaster.think.com

In article <1992Oct8.194535.8326@chesapeake.ads.com> jclose@chesapeake.ads.com (Jeff Close) writes:
>Hi.  I'm using Allegro CL on a Sparc 1.1 and am getting strange behavior in
>some code regarding package redefinition.  At least, it's strange compared to 
>what I would expect.  Specifically, it doesn't seem to have an effect when I
>try to redefine a package.  The package itself is a problem because it doesn't
>seem to "see" many common symbols from CLOS, including defclass and others, 
>even though it uses CL-USER.

CL-USER doesn't export anything by default, so a package that uses CL-USER
isn't going to inherit anything from it.  You should specify CLOS in the
:USE option when you create your package.

In general, including the CL-USER package in the :USE list of a package is
a bad idea, since you (the software developer) have no idea what the end
user may have done to the CL-USER package, and you may end up with
unexpected conflicts.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar
From: mike@majestix.cs.uoregon.edu (Michael John Haertel)
Newsgroups: comp.lang.lisp
Subject: Re: is this legal?
Date: 10 Oct 92 17:16:56 GMT
Article-I.D.: majestix.MIKE.92Oct10091656
Organization: CS Dept, University of Oregon

In article <1b5lr9INNr86@early-bird.think.com> barmar@think.com (Barry Margolin) writes:
>In article <1992Oct10.025504.4221@cs.uoregon.edu> mike@cs.uoregon.edu (Mike Haertel) writes:
>>(in-package "FOO")
>>(defmacro foo::let (&rest body) '(do funky stuff))
>To answer this, we need to see the definition of the FOO package.  If it
>:USEs the LISP package, then it is inheriting the standard LET symbol,
>which is already defined as a special form.

The package FOO was implicitly created by the in-package statement.
Since packages created this way (seem to) :use LISP by default,
the answer is yes.

I was under the apparently mistaken impression that :use was more
like Unix $PATH, and that I could nevertheless create a new LET symbol
in the FOO package.

Time to go reread CLtL...
--
Mike Haertel <mike@cs.uoregon.edu>
From: tar@ISI.EDU (Thomas A. Russ)
Newsgroups: comp.lang.lisp
Subject: Determining Compiler Advice Settings
Date: 7 Oct 92 16:09:26 GMT
Reply-To: tar@isi.edu
Organization: USC-ISI


Is there any portable way for code to determine what the compiler
advice (like speed or safety) are?  What I have in mind is writing
something like the following:

   (defmacro safety-check (hairy-test-form error-message)
      (if (= COMPILER-SPEED-SETTING 3)
	nil
	`(unless ,hairy-test-form
	    (error error-message))))


That way one could write code that includes the checks unless the code
is compiled under the highest speed setting.  One work-around would be
to use *features* and the #+ reader, but I was wondering if a more
integrated approach would be possible.

--

Thomas A. Russ                                             tar@isi.edu    
USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292      (310) 822-1511
From: ensor@cs.utk.edu (Neal Ensor)
Newsgroups: comp.lang.lisp
Subject: A LISP structure question...
Date: 10 Oct 92 17:22:20 GMT
Organization: University of Tennessee, Knoxville - CS Department
NNTP-Posting-Host: duncan.cs.utk.edu
Summary: A how-to question...
Keywords: structures, C, defstruct


I am in the process of learning lisp, and I'd like some suggestions.
I want to set up an array of structures containing edge information for a
polyfilling algorithm... I'd do this in C something like:

struct vtx_type {
  int  Ymax;
  int  X;
  int  deltaY;
  int  deltaX;
  int  incr;
};

struct vtx_type EdgeList[ NUMEDGES ];

And access like:

EdgeList[ 1 ].Ymax = 5; ....

How can I do the equivalent in Lisp?

I set up a defstruct like

(defstruct edge-type (Ymax 0) (X 0) (deltaY 0) (deltaX 0) (incr 0))
and can then make single instances of it... How can I make a single-dimension
array like C structure, then access it?

   Thanks!
   Just another Lisp newbie...

      Neal Ensor
      ensor@cs.utk.edu
(PS:  Please respond in e-mail... This is gonna be a hectic weekend!)
From: pwickman@cerebus.cc.edu (Paul J. Wickman)
Newsgroups: comp.lang.lisp
Subject: XLISP on SparcStation
Date: 14 Oct 92 18:00:11 GMT
Reply-To: pwickman@cerebus.cc.edu (Paul J. Wickman)
Organization: Carroll College-Waukesha, WI


	Does anybody have xlisp 1.6 for Sun Sparc?  I got the source, it
compiled find, but give a bus error/core dump when executed.  Do
I need some sort of fix for Sparc?

email answers please

--
Paul J. Wickman - Analyst/Programmer  Harnischfeger Corporation
Internet: pwickman@carroll1.cc.edu

"Life is what happens to you while you're busy making other plans"
From: tolba@loria.fr (Hany Tolba)
Newsgroups: comp.lang.lisp
Subject: Questions II: lispview, CMU Lisp
Keywords: lispview, HP, CMU Common Lisp
Date: 9 Oct 92 07:48:56 GMT
Organization: CRIN (CNRS) Nancy - INRIA Lorraine

Hello,
I've already asked this question before. Since I've received no answer, I'll
repeat it once more.

> I wanted to know if there are any equivlanet PD implementation of lisp view
> on HP 700 series work stations using Lucid Common Lisp.
> What we want to know if out there, there are lisp view that we can compile
> on HP, or simply equivlant PD packages that will save us time and effort of
> rewritting our sources.

My second question: last year at CMU there were a project to have a version
of there CL portable on HP workstations. Does such a protable version exist
by now?

Thank you in advance,
Hany
Ps: I'll be thankfull if you can forward your answers to my mail account.


-- 

************************************************************************
*  Hany TOLBA				  e-mail: hany.tolba@loria.fr  *
*       CRIN-CNRS & INRIA Lorraine                                     *
*       Campus Scientifique               Tel: (+ 33) 83912000         *
*       BP 239                                   ext. 3047             *
*       54506 Vandoeuvre-Les-Nancy                                     *
*       FRANCE                            Fax: (+ 33) 83413079         *
************************************************************************
From: jeff@aiai.ed.ac.uk (Jeff Dalton)
Newsgroups: comp.lang.lisp,uk.lisp
Subject: Re: which lisp?
Date: 15 Oct 92 18:51:44 GMT
Organization: AIAI, University of Edinburgh, Scotland

In article <1992Oct6.130908.7619@aifh.ed.ac.uk> williams@aifh.ed.ac.uk () writes:
>This is probably a FAQ (is there a FAQ for this group?) but here goes
>anyway...
>
>I have to find a lisp compiler/interpreter to use in a (fairly large)
>commercial software project, and I basically don't know where to start
>looking.  The only lisp that I've used in anger is AKCL and I don't even
>know where that came from.  The platform is a Sun Microsystems
>Sparcstation and there are no a priori restrictions (on things like
>compatibility).
>
>Can anyone give me a couple of leads (like who markets Lisp systems, ftp
>addresses, recommendations, etc) or shout "stupid" and say that there's
>a FAQ list somewhere.

Look in Comp.lang.lisp.  An excellent FAQ bundle is posted every
month and has lots of information of the sort you want.

-- jeff
From: barmar@think.com (Barry Margolin)
Newsgroups: comp.lang.lisp
Subject: Re: Determining Compiler Advice Settings
Date: 7 Oct 1992 22:52:44 GMT
Organization: Thinking Machines Corporation, Cambridge MA, USA
NNTP-Posting-Host: telecaster.think.com

In article <22581@venera.isi.edu> tar@isi.edu writes:
>Is there any portable way for code to determine what the compiler
>advice (like speed or safety) are?

No.
-- 
Barry Margolin
System Manager, Thinking Machines Corp.

barmar@think.com          {uunet,harvard}!think!barmar