Thread View: comp.lang.eiffel
3 messages
3 total messages
Started by jwg1@bunny.UUCP
Wed, 21 Dec 1988 23:29
Eiffel suggestion
Author: jwg1@bunny.UUCP
Date: Wed, 21 Dec 1988 23:29
Date: Wed, 21 Dec 1988 23:29
39 lines
1154 bytes
1154 bytes
One of the things that drove me nuts about Simula 67 was the absence of a concatenation operator. It did have a TEXT attribute called CONCAT, but it was rather unwieldy to use if you had to do much string processing at all. Unfortunately, unless I missed something, Eiffel doesn't even have a CONCAT feature for STRING. It does have prepend and append, but they change the string they are applied to. It would be nice to also have something like this as a feature of STRING: cat (s: STRING): STRING is -- Concatenate a copy of s to current string and return it local newstring: STRING; do newstring.Create( current.length + s.length ); newstring := Current.duplicate; newstring.append( s ); Result := newstring.duplicate end; -- cat Thus, x: STRING is "Foo"; putstring( x.cat("f").cat("a").cat("h!") ); yields: "Foofah!" without changing x. Try to do that with append ! Of course, "a".cat( x ) is NOT valid. Maybe this makes sense from some point of view, but certainly not from one of convenient language features. Cheers. -- Jim Gish GTE Laboratories, Inc., Waltham, MA CSNET: jgish@gte.com UUCP: ..!harvard!bunny!jwg1
Re: Eiffel suggestion
Author: jwg1@bunny.UUCP
Date: Thu, 22 Dec 1988 15:49
Date: Thu, 22 Dec 1988 15:49
34 lines
1691 bytes
1691 bytes
In article <6385@bunny.UUCP> jwg1@bunny.UUCP (that's me) wrote: >One of the things that drove me nuts about Simula 67 was the absence >of a concatenation operator. It did have a TEXT attribute called >CONCAT, but it was rather unwieldy to use if you had to do much string >processing at all. I realized after I posted this, that Simula did NOT have a CONCAT TEXT attribute. In fact, it was less well equipted than Eiffel since it didn't have an append or prepend. It's been so long since I've been fortunate enough to use Simula, that I forgot that I had my own concat function. My apologies to other Simula aficianados for the incorrect info. In all fairness to Eiffel, so far I think it looks like a very good language. And it good be a great language if minimal steps are taken to add certain language features. For example, a Loop construct with an exit and a Case statement are really needed. The decision to have only an "until" clause, and not provide a "while" clause is a mistake. Some loop conditions read much better as "while" clauses, and if they read better, there probably is a better chance of them being written correctly. Although the designers goal of keeping the language simple is a noble one, without certain powerful yet elegant capabilities, like loop/exit, it becomes tedius to write large programs. I realize that the preference for certain language features is subjective, but I think Eiffel needs some "shaking out" to determine what needs to be added. I hope that the members of this newsgroup can make a positive contribution to doing just that. -- Jim Gish GTE Laboratories, Inc., Waltham, MA CSNET: jgish@gte.com UUCP: ..!harvard!bunny!jwg1
Re: Eiffel suggestion
Author: newsuser@LTH.Se
Date: Wed, 28 Dec 1988 13:28
Date: Wed, 28 Dec 1988 13:28
26 lines
1002 bytes
1002 bytes
>One of the things that drove me nuts about Simula 67 was the absence >of a concatenation operator. >... >Unfortunately, unless I missed something, Eiffel doesn't even have a >CONCAT feature for STRING. It does have prepend and append, but they >change the string they are applied to. The current standard of Simula DOES have a text concatenation operation. This operator always creates a new text object and does not change any of the operands. Both constants and variables can be handled by the operator. Example: begin text x = "Foo"; ! --- Declaration of text constant ---; sysout.outtext(x & "f" & "a" & "h!"); end; This program yields "Foofah!" on the standard output. The current standard of Simula is published as a Swedish national standard document: SS 636114 (ISBN 91-7162-234-9). It is available via all other national standardization bodies. (And via Simula vendors.) --- Gorel Hedin Dept. of Computer Science. Lund Institute of Technology, Sweden gorel@dna.lth.se
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads