comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Haskell, anyone?
Date: Wed, 18 Nov 2015 17:06:17 -0600
Date: 2015-11-18T17:06:17-06:00	[thread overview]
Message-ID: <n2j09a$pg2$1@loke.gir.dk> (raw)
In-Reply-To: 937b88b1-66aa-4205-a412-9588d83a3f26@googlegroups.com

"Hadrien Grasland" <hadrien.grasland@gmail.com> wrote in message 
news:937b88b1-66aa-4205-a412-9588d83a3f26@googlegroups.com...
...
>This does not mean that there isn't a benefit to the functional ways. But I 
>don't
> think that we can handwave away their additional complexity with a simple 
> "it
> depends on what you're used to". Functional constructs are, indeed, less 
> intuitive,
>and according to Occam's principle such extra learning complexity deserves 
>a
>good motivation (which I believe most functional programming fans will be
>happy giving anyway).

I agree. In addition, this is an Ada forum, and it would be nice to get back 
to conversation about Ada.

So, let me say that it certainly possible to program in a functional style 
using Ada.

It's always been possible to construct pure functions (those with no 
side-effects) in Ada, and it's likely that Ada 2018 will have a way to 
declare and enforce that.

One can use the advanced data structures in Ada.Containers to program using 
lists, maps, trees, and so on without messing with the ugly details 
(including storage management). It would be easy to use these structures as 
a basis for even higher level operations if one really wanted to hide 
iterators and the like. (You can already use the call-back form of iteration 
to avoid any visible imperative code, if you wanted to do that.)

As Hadrien said, it's useful to have FP techniques available when they work 
well, but one really doesn't want to be fenced into any single programming 
paradyme. Basic imperative programming alone, or ADTs alone, or OOP alone, 
or FP alone, or whatever alone, is almost never the best way to get things 
done. Some problems map naturally into one style or another, and its crazy 
to be fenced into some other style for such problems.

                                    Randy.



  parent reply	other threads:[~2015-11-18 23:06 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-15 20:42 Haskell, anyone? mockturtle
2015-11-15 20:51 ` Paul Rubin
2015-11-15 20:53 ` Nasser M. Abbasi
2015-11-15 21:50 ` Mark Carroll
2015-11-15 22:11 ` mockturtle
2015-11-15 22:48   ` Nasser M. Abbasi
2015-11-15 23:05     ` Mark Carroll
2015-11-16  4:11       ` Paul Rubin
2015-11-16  5:17         ` Nasser M. Abbasi
2015-11-16  5:48           ` Paul Rubin
2015-11-16  5:59             ` Nasser M. Abbasi
2015-11-16  6:47               ` Paul Rubin
2015-11-16  8:45           ` Simon Wright
2015-11-16 14:38             ` Brian Drummond
2015-11-15 23:19     ` Jeffrey R. Carter
2015-11-16  9:36       ` J-P. Rosen
2015-11-16 18:14         ` Jeffrey R. Carter
2015-11-16  3:59   ` Paul Rubin
2015-11-16  8:33   ` Dmitry A. Kazakov
2015-11-16  9:33     ` mockturtle
2015-11-16  9:45       ` Paul Rubin
2015-11-16 10:25 ` Hadrien Grasland
2015-11-16 11:19   ` Simon Wright
2015-11-16 11:25     ` Hadrien Grasland
2015-11-16 13:59   ` G.B.
2015-11-16 20:24   ` Jeffrey R. Carter
2015-11-16 23:23   ` Paul Rubin
2015-11-17  8:26     ` Dmitry A. Kazakov
2015-11-17  9:10       ` Mark Carroll
2015-11-17 20:09         ` Dmitry A. Kazakov
2015-11-17 10:49     ` Hadrien Grasland
2015-11-17 12:01       ` G.B.
2015-11-17 16:43         ` Hadrien Grasland
2015-11-17 18:04           ` Paul Rubin
2015-11-17 21:42             ` Hadrien Grasland
2015-11-18  4:36               ` Paul Rubin
2015-11-18  8:48                 ` Hadrien Grasland
2015-11-18  9:23                   ` Paul Rubin
2015-11-18 10:44                     ` Hadrien Grasland
2015-11-18 11:02                       ` Dmitry A. Kazakov
2015-11-18 12:41                         ` G.B.
2015-11-18 23:06                       ` Randy Brukardt [this message]
2015-11-19  8:56                         ` Hadrien Grasland
2015-11-19  9:19                           ` Hadrien Grasland
2015-11-19 21:27                           ` Randy Brukardt
2015-11-24 12:03                           ` Jacob Sparre Andersen
2015-11-19  7:22                       ` Paul Rubin
2015-11-19  9:39                         ` Hadrien Grasland
2015-11-17 13:01       ` Thomas Løcke
2015-11-17 16:45         ` Hadrien Grasland
2015-11-18  0:11       ` Paul Rubin
2015-11-18  9:44         ` Hadrien Grasland
2015-12-06 12:59   ` David Thompson
2015-12-07  7:25     ` Hadrien Grasland
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox