From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_00,FROM_WORDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b50bc6538a649497 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2000-11-09 18:13:29 PST Path: supernews.google.com!sn-xit-02!supernews.com!isdnet!nntp.flash.net!news.flash.net!not-for-mail From: "Ken Garlington" Newsgroups: comp.lang.ada References: <3A02CED4.520C2768@brighton.ac.uk> <3A078B6F.D34B024B@erols.com> <8ua3m1$bru$1@nnrp1.deja.com> <3A09A39F.2822C01B@cepsz.unizar.es> <8udce8$1qi$1@nnrp1.deja.com> <3a0a6f6c$1@pull.gecm.com> <87em0ley6l.fsf@deneb.enyo.de> Subject: Re: constants v variables (was Re: if statements) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Message-ID: Date: Fri, 10 Nov 2000 02:13:28 GMT NNTP-Posting-Host: 216.215.65.89 X-Complaints-To: abuse@flash.net X-Trace: news.flash.net 973822408 216.215.65.89 (Thu, 09 Nov 2000 20:13:28 CST) NNTP-Posting-Date: Thu, 09 Nov 2000 20:13:28 CST Organization: FlashNet Communications, http://www.flash.net Xref: supernews.google.com comp.lang.ada:1975 Date: 2000-11-10T02:13:28+00:00 List-Id: "Florian Weimer" wrote in message news:87em0ley6l.fsf@deneb.enyo.de... : Robert A Duff writes: : : > > Thanks for highlighting this one - I've been bleeting on about this locally : > > (and even in c.l.a. once!) for ages to collegues. : > : > Me, too. IMHO, constant should be the *default*, and you should have to : > say "var" or something to declare a variable; then people would be less : > likely to make this mistake. In fact, that *is* the way parameters work : > ("in" is the default). It seems inconsistent that object declarations : > work differently. : : Following these lines, you probably should mandate proper tail : recursion as well. ;-) Oddly enough, I'm learning Erlang, where assignments (bindings) do produce constants, and there are no variable declarations per se. The Erlang book also promotes (but does not require) tail recursion. Once you get used to it, there's a certain elegance to a functional language of this type.