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.
next prev 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