comp.lang.ada
 help / color / mirror / Atom feed
From: Mark Carroll <mtbc@bcs.org>
Subject: Re: Haskell, anyone?
Date: Tue, 17 Nov 2015 09:10:14 +0000
Date: 2015-11-17T09:10:14+00:00	[thread overview]
Message-ID: <87fv05q9e1.fsf@ixod.org> (raw)
In-Reply-To: 1h61j5twxf2t2.1dm6v8iu2cpdi$.dlg@40tude.net

On 17 Nov 2015, Dmitry A. Kazakov wrote:

> On Mon, 16 Nov 2015 15:23:16 -0800, Paul Rubin wrote:
>
>> Hadrien Grasland <hadrien.grasland@gmail.com> writes:
>
>>> "The compiler and the user are both clever enough". 
>> 
>> It's true that there are FP idioms you have to get used to if you're
>> coming from imperative programming.
>
> Because declarative programming is non-algorithmic and no programming at
> all, if taken seriously. It is like the idea of stateless programming, just
> a fiction.

Chris Okasaki's "Purely Functional Data Structures" is a great
introduction to the basics of what one can do with algorithms when one
takes declarative programming seriously, regardless of if one deems it
"non-algorithmic and no programming at all". I do generally find it
possible to translate algorithms from books like CLR(S) -- longest
common subsequence or directed graph maximum flow or whatever -- to
being purely declarative, it just means that I have to step back and
really understand the idea and approach of the algorithm, rather than
just mechanically translating their for loops and arrays and whatever
into the appropriate syntax. For instance, with Haskell the elements of
an array of an imperative algorithm may become return values from some
recursive lazily evaluated function. (It is still possible to use an
imperative approach when it fits best, for instance I often did when
translating my simple sysadmin Perl 5 scripts to Haskell.) But I fear
we're drifting off-topic so I'll again return to lurking here and look
out for any queries in comp.lang.haskell.

-- Mark

  reply	other threads:[~2015-11-17  9:10 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 [this message]
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
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