HDTenEightyP/NetNews huggingface dataset:
From: bevan@cs.man.ac.uk (Stephen J Bevan)
Newsgroups: comp.object
Subject: Re: O.M(...) vs M(...), and is the Real World O-O?
Date: 9 Sep 92 16:07:38 GMT
	<KERS.92Sep3100309@cdollin.hpl.hp.com> <q9mnb_l.objsys@netcom.com>
Organization: Department of Computer Science, University of Manchester
In-reply-to: objsys@netcom.com's message of 5 Sep 92 01:15:41 GMT

In article <q9mnb_l.objsys@netcom.com> objsys@netcom.com (Bob Hathaway) writes:
   We first met when bevan argued
   against natural language "like" programming langauges (Pascal/Ada/Smalltalk
   were some of my examples along with some extensions)

That's not quite how I remember it :-)
I argued against languages which have no formal definition and 
specifically those that don't have an abstract syntax.  Of course
there are exceptions to the abstract syntax rule, as long as some
formalism replaces it.  I objected to Bob's examples as they didn't
have an abstract syntax and no alternative formalim was presented
(other than a reference to looking at the compiler as the definition,
which doesn't satisify me).


   and he even went so
   far as to claim that natural language interfaces to databases (which allow
   anyone to easily access a database) were a bad thing!

I claimed that _I_don't_like_ "English" interfaces which try and
second guess the meaning of a query because the semantics are so
poorly defined that it is difficult to write a logical query.
If others like natural language interfaces, fine, let them use them,
but please don't try and tell me that they are somehow better because
they are like English.

bevan
Newsgroups: comp.object
From: johnson@m.cs.uiuc.edu (Ralph Johnson)
Subject: Re: Why is garbage collecting considered intregral to OOPS?
Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL
Date: Tue, 15 Sep 1992 16:50:46 GMT

st1lv@rosie.uh.edu (McLeod, Stephen) writes:

>Hi.  I'm boning up on OOPS right now and the book I'm using said that without
>automatic garbage collection, it is not OOP/OOD.  Why is this the case?  The
>book is rather unclear on this particular point.

First, most people don't think that g.c. is integral to OOP.  However,
some people do, so the question still stands: why do some people consider
g.c. integral to OOP?

This is a question that has intrigued me for some time.  The people who
state in writing that g.c. is part of OOP are generally people that I
respect (Bertrand Meyers and Dan Ingalls come to mind), so I don't just
reject their comments out of hand.  However, it has always been hard for
me to see why Object Pascal, Objective C, or C++ aren't object-oriented, 
because the same design patterns that work well with Smalltalk or Eiffel
also work well with them.  I have come to the conclusion (right or wrong)
that people see g.c. as integral to OOP because g.c. makes software much
more reusable, and reuse is a major motivation for OOP.  G.c. makes it
much easier to think about objects as independent entities that control
their own destiny.  It lets us abstract away from the low-level details
of running programs.

I'm a big fan of g.c., and it clearly makes software easier to write
and more reusable (unless you are writing real-time software), but I
think it is not essential to OOP.  Of course, there really isn't a
single standard definition of OOP, and some of the definitions vary
widely.  Peter Wegner's definition (OOSPLA 88? 87?) is pretty widely
used.  On the other extreme, the Scandinavian school defines
object-oriented programming as writing a program that is a simulation.
When I first saw that definition, I was completely bewildered, but as
time goes on I like it more and more.  Although there certainly are
lots of simulations that are not object-oriented, a good object-oriented
design is a simulation of the system you are modeling, even (especially?)
if the system is an artificial one.  So, the point is to be a little
skeptical of everybody's definition.

-Ralph Johnson
Newsgroups: comp.object
From: bob@cs.vu.nl (Fikke RJ)
Subject: asking software reuse information
Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
Date: Tue, 8 Sep 1992 14:33:19 GMT


Currently I am working on my graduation project at the
Vrije Universiteit of Amsterdam. It is called "Critical
Succes Factors of Software Reuse". I hope to formulate
a limited number of areas in which results if they are
satisfactory will ensure succesful software reuse.

Maybe you have some suggestions or information that
may be helpful for my project.
Would you be so kind to send any information to:

(email)		bob@cs.vu.nl

or:
		Rene' Fikke
		c/o Vrije Universiteit,
		Faculteit Wiskunde en Informatica,
		De Boelelaan 1081a,
		1081 HV  Amsterdam


Thanks in advance,
	Rene' Fikke
Xref: sparky comp.lang.eiffel:1130 comp.emacs:3063
From: sm86+@andrew.cmu.edu (Stefan Monnier)
Newsgroups: comp.lang.eiffel,comp.emacs
Subject: Emacs and Eiffel again !
Date: 10 Sep 92 02:04:02 GMT
Organization: Junior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA


Form previous postings, I got 2 versions of the eiffel.el from
Bob Weiner. One (available at ftp.uu.net) dated 12/10/89 and
the other 5/17/90. Of course the younger has some more features, 
but it has a big problem:

the indentation doesn't work correctly : it sometimes 
deindents (indent to the left) after a method header !

I don't think it is due to the eiffel.el cause it would have
been changed since then. Maybe is my emacs configuration
responsible (well, not really mine but the one I have
access to from my account) !

Has anybody had this kind of problem ?

	Stefan Monnier

PS: I'm not sure whether it's a good idea to post it to
comp'lang'eiffel too. any comment ?

-----------------------------------------------------
-- On the average, people seem to be acting normal --
-----------------------------------------------------
From: mod@cs.man.ac.uk (Mike O'Docherty (Teaching Company Associate with MU/ICL))
Newsgroups: comp.lang.eiffel
Subject: Re: system-level validity
Date: 7 Sep 92 14:53:42 GMT

nagle@netcom.com (John Nagle) writes:

>     Given system-level validity checking, what strong statements can
>one make about a program that passes it?

I don't know if bland statements such as

	"A system-valid application is *guaranteed* to be type-safe, a
	class-valid system is not."

are any use to you. No? Oh, well.

Chapter 22 in ETL explains the problems in full. If you can't get hold of a
copy then you'll just have to appreciate that it is *possible* to
access a feature on an object which either doesn't have that
feature or doesn't export it to you or expects different arguments.

It's a complex business this type-checking!

Mike.
Newsgroups: comp.lang.eiffel
From: matthew@ntl02.decnet.nokia.fi (Matthew Faupel)
Subject: select (Eiffel 3.0)
Organization: Nokia Telecommunications, Cambridge, UK
Date: Mon, 7 Sep 1992 14:30:21 GMT

The select statement in Eiffel 3.0 is intended to choose the dominant
version of alternative features inherited from a common base class, hence:

class A                     
   feature x: INTEGER is    
      Result := 1           
   end                      
end                        
                           
class B
   inherit A rename x as Bx, redefine Bx
   feature Bx: INTEGER is
      Result := 2
   end
end

class C
   inherit A rename x as Cx, redefine Cx
   feature Cx: INTEGER is
      Result := 3
   end
end

class D
   inherit B, C
   select Bx
end

... defines Bx to be the dominant definition of feature x of A if a D object
is ever referenced by a type A reference.  Apologies if I have the syntax
slightly wrong, I don't have the manual in front of me.

Given the above definitions, I think the following are obvious:

anA: A; aB: B; aC: C; aD: D;
!!aD;
aD.Bx; -- returns 2
aD.Cx; -- returns 3
anA := aD;
anA.x; -- returns 2
aB := aD;
aB.Bx; -- returns 2
anA := aB;
anA.x; -- returns 2

Now come the tricky ones:

aC := aD;
aC.Cx; -- returns 2 or 3?
anA := aC;
anA.x; -- returns 2 or 3?

Can anyone help?

Thanks,


Matthew
--
---* Amnesiac the Wizard *------------------* matthew@uk.tele.nokia.fi *---
 Opinions expressed here are not those of my company.    | NB. ntl02 is EN
 They're not even my own; I plagiarised the lot of them! | TEE EL ZERO TWO
---* matthew@ntl02.decnet.nokia.fi *------------------* Matthew Faupel *---
Newsgroups: comp.lang.eiffel,comp.lang.smalltalk
From: wjwaugh@eos.ncsu.edu (Jack Waugh)
Subject: Better than a C+
Followup-To: wjwaugh@eos.ncsu.edu
Organization: North Carolina State University
Distribution: na
Date: Sun, 13 Sep 1992 03:33:11 GMT

I have to assign a student problem to be programmed in C++.
The students should be able to complete it in, let's say,
about 12 hours.  I would like to come up with a problem
that would highlight any drawbacks of C++ relative to other
OO languages (other than the temptation to program in
straight C).  Something that would convince them they "deserve
better than a C+", to quote a promotional button put out
by a well-known supplier of Eiffel compilers.  Kindly mail
me ideas (let's not start a war across two newsgroups
about which language is better).  Thanks.

PS: they will also have problems to do in Eiffel and
Smalltalk.  Consequently they will have a chance to compare
languages.
Newsgroups: comp.lang.eiffel
From: jcm@hgc.edu (James McKim)
Subject: Re: select (Eiffel 3.0)
Organization: The Hartford Graduate Center
Date: Tue, 8 Sep 1992 13:43:16 GMT

In article <MATTHEW.92Sep7142939@matthew.ntl02.decnet.nokia.fi> matthew@ntl02.decnet.nokia.fi (Matthew Faupel) writes:
>The select statement in Eiffel 3.0 is intended to choose the dominant
>version of alternative features inherited from a common base class, hence:
>
>class A                     
>   feature x: INTEGER is    
>      Result := 1           
>   end                      
>end                        
>                           
>class B
>   inherit A rename x as Bx, redefine Bx
>   feature Bx: INTEGER is
>      Result := 2
>   end
>end
>
>class C
>   inherit A rename x as Cx, redefine Cx
>   feature Cx: INTEGER is
>      Result := 3
>   end
>end
>
>class D
>   inherit B, C
>   select Bx
>end
>
>... defines Bx to be the dominant definition of feature x of A if a D object
>is ever referenced by a type A reference.  Apologies if I have the syntax
>slightly wrong, I don't have the manual in front of me.
>
>Given the above definitions, I think the following are obvious:
>
>anA: A; aB: B; aC: C; aD: D;
>!!aD;
>aD.Bx; -- returns 2
>aD.Cx; -- returns 3
>anA := aD;
>anA.x; -- returns 2
>aB := aD;
>aB.Bx; -- returns 2
>anA := aB;
>anA.x; -- returns 2
>
>Now come the tricky ones:

>
>aC := aD;
>aC.Cx; -- returns 2 or 3?

Should act just like aD.Cx above and return 3.

>anA := aC;
>anA.x; -- returns 2 or 3?

I'm assuming this assignment _follows_ the previous one as opposed to being
an independent example. In that case anA's runtime type is D, the select
clause comes into play and the result is 2.

At least that's my vote. :-)

>
>Can anyone help?
>
>Thanks,
>
>
>Matthew
>--
>---* Amnesiac the Wizard *------------------* matthew@uk.tele.nokia.fi *---
> Opinions expressed here are not those of my company.    | NB. ntl02 is EN
> They're not even my own; I plagiarised the lot of them! | TEE EL ZERO TWO
>---* matthew@ntl02.decnet.nokia.fi *------------------* Matthew Faupel *---


-- Jim
-- 

*------------------------------------------------------------------------------*
Jim McKim  (203)-548-2458     In exactly 3.2 seconds it will be a few 
Internet:  jcm@hgc.edu   minutes to 5:00.
Newsgroups: comp.lang.eiffel
From: gregor@oit.itd.umich.edu (Gregor Purdy)
Subject: Eiffel and "raw" data storage
Organization: University of Michigan
Date: Wed, 9 Sep 1992 02:46:11 GMT

Friends--

I don't have all the Eiffel books yet (The Libraries and The Environment are on  
order), and I'm curious about the following:

Lets say I was writing my own graphics classes on top of Eiffel, with classes  
like COLOR, COLOR_TABLE, CANVAS, POINT, etc. Now, suppose I want the ability to  
have CANVASses that are bitmaps (1 bit), or pixmaps (gray, RGB, HSV, etc.). I'm  
going to want to allocate a contiguous block of memory for the pixels and then  
to access it on a bit/byte level.

Are there classes in the libraries that allow this? I don't recall seeing a  
mechanism for this in Eiffel: The Language (not that there necessarily should  
be one there).

Thanks,

--Gregor N. Purdy
President, Contemporary Design Studios
From: class@peg.pegasus.oz.au
Newsgroups: comp.lang.eiffel
Subject: AUSTRALIAN EIFFEL PROG REGISTER
Date: 5 Sep 92 18:17:00 GMT
Nf-ID: #N:peg:508600006:000:772
Nf-From: peg.UUCP!class    Sep  5 13:17:00 1992


I'm interested in establishing and maintaining a 
comprehensive register of Eiffel Programmers in AUSTRALIA.

If you are interested send me an email titled Aust Eiffel 
Register with some brief details of your experience and 
areas of interest and contact details. You can also write to 
me if you prefer c/- class technology.

I'll post a summary of the numbers of responses that I get 
by product type (ISE Eiffel or Eiffel/S), platform type, 
industry and application types - so try and give information 
along those lines if you can.

Lets see how big the Eiffel community is now!

Ray Steele

------------------------------------------------------------
class technology Pty Limited
A.C.N. 003 818 040

6 Pound Road, HORNSBY NSW 2077

Email  class@peg.pegasus.oz.au
From: ov@saturn.cs.swin.oz.au (Owen Veenstra)
Newsgroups: comp.lang.eiffel
Subject: Inheritance vs Buying
Date: 15 Sep 92 02:12:59 GMT
Organization: Swinburne Institute of Technology, Hawthorn, Victoria


   Howdi,

      My problem is this...

      I do not know when to "buy from" libraries, and when to "inherit" 
   libraries.  It seems to me that as the functionality of the class in 
   question more and mroe mimicks the functionality of the library class,
   you should inherit that class.

      Is this a viable strategum?  My apologies if this is a FAQ.

      If answers are deemed not worthy of news, please email me (add below).


                               Many thanks in Advance,

                               Owen


      email address :  ov@saturn.cs.swin.oz.au
Newsgroups: comp.lang.eiffel
From: nagle@netcom.com (John Nagle)
Subject: Re: system-level validity
Date: Tue, 08 Sep 92 05:09:18 GMT
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 

mod@cs.man.ac.uk (Mike O'Docherty (Teaching Company Associate with MU/ICL)) writes:

>nagle@netcom.com (John Nagle) writes:

>>     Given system-level validity checking, what strong statements can
>>one make about a program that passes it?

>I don't know if bland statements such as

>	"A system-valid application is *guaranteed* to be type-safe, a
>	class-valid system is not."

>are any use to you. No? Oh, well.

       Now the question is, can system-level validity checking be performed
statically, and has this been successfully implemented?  Chapter 22
seems evasive on this subject.

					John Nagle
Newsgroups: comp.lang.eiffel
From: pjm@access.digex.com (Paul Masline)
Subject: Is there a FAQ?
Organization: Express Access Public Access UNIX, Greenbelt, Maryland USA
Date: Tue, 8 Sep 1992 20:30:45 GMT


Can someome tell me if there is a FAQ available for eiffel?  And how a
can get a hold of it?  

Thanks,
Paul Masline
-------------------------------------------------------------------------
                                       pjm@access.digex.com
                                       pjm@po.cwru.edu
=========================================================================
-- 
Paul Masline
-------------------------------------------------------------------------
                                       pjm@access.digex.com
                                       pjm@po.cwru.edu
From: mod@cs.man.ac.uk (Mike O'Docherty (Teaching Company Associate with MU/ICL))
Newsgroups: comp.lang.eiffel
Subject: Re: system-level validity
Date: 8 Sep 92 13:09:12 GMT

nagle@netcom.com (John Nagle) writes:

>       Now the question is, can system-level validity checking be performed
>statically, and has this been successfully implemented?  Chapter 22
>seems evasive on this subject.

At the risk of repeating parts of my recent postings and Bertrand Meyer's reply:

Yes, it can be performed statically.
ISE's first release of 3.0 doesn't do it, but it is `at the top of the list'
for the second release.

The algorithm in Chapter 22 seems very straightforward, I guess ISE's estimate
of two months to implement it comes from wanting to mnake it fast and/or
incremental.

The first release of Eiffel/S on Pc did the checks dynamically. I think there's
a second release now but only SiG can tell you more.

Mike.

(System-validity obsessive).
Newsgroups: comp.lang.eiffel
From: matthew@ntl02.decnet.nokia.fi (Matthew Faupel)
Subject: Re: select (Eiffel 3.0)
Organization: Nokia Telecommunications, Cambridge, UK
	<MATTHEW.92Sep8160738@matthew.ntl02.decnet.nokia.fi>
Date: Tue, 8 Sep 1992 16:26:32 GMT

GC: Geoffrey Clemm in article <GEOFF.92Sep8101023@wodehouse.flash.bellcore.com>
MF: Me in article <MATTHEW.92Sep7142939@matthew.ntl02.decnet.nokia.fi>

MF:    class A                     
MF:       feature x: INTEGER is    
MF: 	 Result := 1 end end                        
MF:    class B inherit A rename x as Bx, redefine Bx
MF:       feature Bx: INTEGER is
MF: 	 Result := 2 end end
MF:    class C inherit A rename x as Cx, redefine Cx
MF:       feature Cx: INTEGER is
MF: 	 Result := 3 end end
MF:    class D inherit B, C
MF:       select Bx end
MF:    ...
MF:    Now come the tricky ones:

MF:    aC := aD;
MF:    aC.Cx; -- returns 2 or 3?
MF:    anA := aC;
MF:    anA.x; -- returns 2 or 3?

MF:    Can anyone help?

GC: Cx has never been redefined or renamed, so it will always return 3.  

GC: If the dynamic type of anA is aC, then anA.x must be the Cx that redefines x.
GC: The select statement in D (or for that matter, the very existence of D) is
GC: irrelevant to this decision.

GC: I'm not sure why these are tricky.  How could the answers be anything else ?

Ah... I seem to have phrased the question rather badly, because this is the
second reply I've had which misinterpreted it.  What I meant was:

!!aD; aC := aD; anA := aC; anA.x; -- a
                anA := aD; anA.x; -- b

Here we have two invocations of the same feature name on the same dynamic
object via the same static reference, do they produce different results
(i.e. does a return 3 but b, 2) or the same (both returning 2 because
feature Bx was selected as the dominant implementation of x when referring
to an object of type D via a reference of type A)?

In other words, does select always operate or only when the assignment path
doesn't make it clear which version of the feature should be used?

I've now had an answer from someone in ISE, and the answer is that they both
return 2; the assignment path makes no difference.  Next question, is this
really the desired behaviour?  Answers on a postcard please :-)

Cheers,


Matthew
--
---* Amnesiac the Wizard *------------------* matthew@uk.tele.nokia.fi *---
 Opinions expressed here are not those of my company.    | NB. ntl02 is EN
 They're not even my own; I plagiarised the lot of them! | TEE EL ZERO TWO
---* matthew@ntl02.decnet.nokia.fi *------------------* Matthew Faupel *---
Organization: Junior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA
Newsgroups: comp.lang.eiffel
Date: Thu, 10 Sep 1992 13:34:43 -0400 
From: Stefan Monnier <sm86+@andrew.cmu.edu>
Subject: Eiffel repository


Is there an eiffel repository as there is a scheme repository ?

Or at least an ftp site with a FAQ, and some classes (source)
or utilitites ? 


	Stefan Monnier

-----------------------------------------------------
-- On the average, people seem to be acting normal --
-----------------------------------------------------





Newsgroups: comp.lang.eiffel
From: geoff@flash.bellcore.com (Geoffrey Clemm)
Subject: Re: system-level validity
Organization: Bellcore
	<mod.714907485@cs.man.ac.uk> <83@feiffel.UUCP>
	<1bmn50.nagle@netcom.com> <mod.715877622@cs.man.ac.uk>
	<j-rnhhj.nagle@netcom.com>
Date: 8 Sep 92 09:53:36

In article <j-rnhhj.nagle@netcom.com> nagle@netcom.com (John Nagle) writes:
	  Now the question is, can system-level validity checking be performed
   statically, and has this been successfully implemented?  Chapter 22
   seems evasive on this subject.

Chapter 22 in ETL gives a fairly detailed description of the algorithm
for system-level validity checking.  It does not describe an incremental
version of this algorithm, but this just involves caching the right
information for re-use.

I'm not quite sure how a presentation of the algorithm can be reasonably
described as "being evasive on the subject", but that's a judgement call
I suppose (:-).

Cheers,

Geoff
--
geoff@bellcore.com
Xref: sparky comp.lang.eiffel:1116 comp.emacs:3049
From: sm86+@andrew.cmu.edu (Stefan Monnier)
Newsgroups: comp.lang.eiffel,gnu.emacs,comp.emacs
Subject: Eiffel and Emacs
Date: 7 Sep 92 11:55:43 GMT
Article-I.D.: andrew.weevCzC00awYAIn0gG
Organization: Junior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA


I have access to the ISE Eiffel compiler, but I can't find
any emacs interface for it (maybe they haven't installed it)

So: is there an eiffel-mode, a run-eiffel, or anything else
to edit and compile Eiffel programs under Emacs ?

Where could I find it ?

	Stefan Monnier

-----------------------------------------------------
-- On the average, people seem to be acting normal --
-----------------------------------------------------
Newsgroups: comp.lang.eiffel
From: quarrie@cds001.cebaf.gov (David Quarrie)
Subject: Re: (ISE-) Eiffel experiences on PC's
Keywords: ISE Eiffel, PC, Unix, performance, graphics
Reply-To: quarrie@cds001.cebaf.gov (David Quarrie)
Organization: CEBAF (Continuous Electron Beam Accelerator Facility)
Date: Wed, 9 Sep 1992 12:07:20 GMT

--
In article <1992Sep9.075423.21475@dutrun2.tudelft.nl>,
wbtt001@dutrun2.tudelft.nl (E. Maryniak) writes:
|>Newsgroups: comp.lang.eiffel
|>Subject: (ISE-) Eiffel experiences on PC's
|>Reply-To: wbtt001@dutrun2.tudelft.nl (E. Maryniak)
|>Organization: Delft University of Technology
|>Date: Wed, 9 Sep 1992 07:54:23 GMT
|>
	[....]

|>Concrete question: which Unix should I put on my 33Mhz, 16/210 MB 486
|>(IDE-bus)
|>in order to run ISE Eiffel (2.3, later 3.0) optimally ?

A totally unbiased answer (cough, cough): NeXTSTEP

|>
|>Thanks !
|>
|>Eric Maryniak
|>e-mail: ericm@dutw34.tudelft.nl
|>

-------------------------------------------------------------------------------
	David Quarrie					CEBAF MS 12H
							12000 Jefferson Ave
Internet: quarrie@cebaf.gov				Newport News VA 23606
DECnet  : cebaf::quarrie				Tel: (804) 249-7562
BITNET  : quarrie@cebaf					Fax: (804) 249-7363
Xref: sparky comp.lang.eiffel:1134 comp.object:3513