🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.eiffel
Article #1581

Re: Comments on proposed Eiffel language changes

#1581
From: Richard O'keefe
Date: Tue, 20 Feb 1990 07:34
35 lines
2278 bytes
In article <48a55876.12c9a@digital.sps.mot.com>, shelley@atc.sps.mot.com (Norman K. Shelley) writes:
> Page 240 of "Eiffel: The Language" states that "internal upper-case letters ...
> as in putAtRight, contradicts the standard conventions of English ...
> and is not  part of the recommended style."  I agree BUT must note that the
> underscore ('_')
> as a word separator is NOT English either.  A whitespace is the accepted
> standard but computers have troubles with whitespace in names/labels so what do
> we do?

This is contrary to fact.  Computers have no trouble whatsoever with
layout inside names.  Consider Fortran, Algol 68, and IMP for starters.
I also have a modified Prolog which allows layout inside names as well,
where I adopted the rule that 1 or more layout characters inside an
identifier were equivalent to a single underscore, so that
	translation of identifier(New Style Identifier, Old Style Id)
was read the way that
	translation_of_identifier(New_Style_Identifier, Old_Style_Id)
is read in normal Prolog syntax, so this could coexist with a standard
tokeniser/parser.

The only thing that tokenisers have trouble with is telling where one
identifier ends and another begins.  There are several ways around this.
One of them is to use a syntax where the issue just doesn't arise.
For example,
	require latest x = old y;
would cause a problem, but if it were
	require (latest x = old(y));
so that identifier never met identifier, the problem would go away.
Another is to use a form of stropping; there were four official
methods of stropping for Algol 68 and IMP used another, e.g.
	%require latest x = %old y;

I _don't_ agree that the Eiffel lexical rules for identifiers warrant
changing, but let's but delude ourselves, the only reason for not allowing
spaces in identifiers is the language designer's careful choice.
Technical Details
Message-ID: <2888@goanna.oz.au>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok
References: <48a55876.12c9a@digital.sps.mot.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok
From: ok@goanna.oz.au (Richard O'keefe)
Newsgroups: comp.lang.eiffel
Subject: Re: Comments on proposed Eiffel language changes
Message-ID: <2888@goanna.oz.au>
Date: 20 Feb 90 07:34:10 GMT
References: <48a55876.12c9a@digital.sps.mot.com>
Organization: Comp Sci, RMIT, Melbourne, Australia
Lines: 35