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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.107.17.29 with SMTP id z29mr13933423ioi.90.1520348492903; Tue, 06 Mar 2018 07:01:32 -0800 (PST) X-Received: by 10.157.68.9 with SMTP id u9mr992124ote.5.1520348491919; Tue, 06 Mar 2018 07:01:31 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!e10no1780102itf.0!news-out.google.com!a2ni4392ite.0!nntp.google.com!e10no1780101itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 6 Mar 2018 07:01:31 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.233.194; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.233.194 References: User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <9ca5267e-3c6c-4f56-bb35-26240ad3aff4@googlegroups.com> Subject: "functional" programming in Ada From: "Dan'l Miller" Injection-Date: Tue, 06 Mar 2018 15:01:32 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 2103 X-Received-Body-CRC: 2577258937 Xref: reader02.eternal-september.org comp.lang.ada:50844 Date: 2018-03-06T07:01:31-08:00 List-Id: Alejandro R. Mosteo wrote: > Pros: purely recursive functions are really fun to write. If/case=20 > expressions, used sparingly, do help a lot in having constant=20 > declarations in local scopes. I'm writing more code in declarative parts.= =20 Be careful or else you will be yearning to write in Ada the full-fledged me= ta-template programming abomination that C++ has become in the past decade = and a half. If the Ada community were to ever want to have functional prog= ramming within Ada (as opposed to, say, bolting Ada & Haskell or Ada & OCam= l together better), especially compile-time functional programming in Ada, = then it should be overtly well-designed to walk in the front door, not snea= k in the backdoor as it did in C++ when they/Alexandrescu =E2=80=98discover= ed=E2=80=99 that C++'s templates/generics were (just barely) Turing complet= e with syntax-as-nearly-unreadable-subtext that is perhaps even more crypti= c than infinite-length tapes in a Turing machine.