comp.lang.ada
 help / color / mirror / Atom feed
From: Warren <ve3wwg@gmail.com>
Subject: Re: The state of functional programming
Date: Thu, 29 Jul 2010 21:01:35 +0000 (UTC)
Date: 2010-07-29T21:01:35+00:00	[thread overview]
Message-ID: <Xns9DC4AD33D2F87WarrensBlatherings@81.169.183.62> (raw)
In-Reply-To: 17hhchqy1a2si.1akul43vk1sd9.dlg@40tude.net

Dmitry A. Kazakov expounded in
news:17hhchqy1a2si.1akul43vk1sd9.dlg@40tude.net: 

> On Thu, 29 Jul 2010 19:19:49 +0000 (UTC), Warren wrote:
>> Dmitry A. Kazakov expounded in
>> news:a3iznu9uq49d$.1m9cupr81yhut$.dlg@40tude.net: 
>>> On Thu, 29 Jul 2010 15:20:48 +0000 (UTC), Warren wrote:
>> ..
>>>> I think you missed my point - perhaps it wasn't expressed
>>>> clearly.
>>>> 
>>>> As I understand it, a FP tries to determine conclusions 
>>>> from a universe of facts, given some inputs. For smaller
>>>> problems this can be _exhaustively_ analyzed and results 
>>>> obtained.
>>> 
>>> And so does any declarative language. You declare some facts in
>>> whatever form (as relations, as connections of blocks etc, for that
>>> matter, as types in a strongly typed languages like Ada). The system
>>> infers from them some executable code.
>> 
>> No, there is a big difference here.
>> 
>> In a non-FP language (Ada), you can solve _any_ problem so long
>> as you code it (you are coding the "how"). 
> 
> Not quite. "How" need to be translated into the Ada code first. In
> some cases it is not simple or even impossible.

It doesn't matter. You've expressed the solution "in Ada".
"You" solved the problem to begin with (i.e. "the how").

>> IOW, you have solved the problem and specified it in code.
> 
> No difference here. Any code is a language (Ada language, machine
> language, the language of differential equations and so on). The FP
> code is as code as Ada code is. 

Code in the sense that it is the "specification". One
language specifies the "how", and the other specifies the 
"problem". Surely you see that.

>> In FP, you define the "problem" (instead) and require from 
>> it a solution.
> 
> Rather you declare a solution. This is how declarative paradigm works.

Again, in Ada you "declare" the "how". In FP, you "declare"
the "problem" to be solved.  In FP, you don't about the 
how, beyond how long will it take.

> (Don't forget that Ada has a declarative parts as well. You declare
> types for example, and ask the compiler to solve "range 0..100".)

This is a pre-solved problem- that you re-apply in a 
larger solution. The solution has been worked out by
the compiler/library writers. This is not "finding a 
solution" in the present tense.

>> But FP cannot always solve that "problem".
> 
> Same in Ada. Not every legal Ada program is compilable. 

If an Ada program doesn't compile, then the programmer
hasn't spelled out the "how" correctly has he?  

A well formed FP OTOH, can yield a suboptimal or missing 
result. This is due to no fault in the input "program",
but in the way FP was implemented.  

Anyway, I'm done here.  I'm starting to feel like
a parrot.

Warren



  reply	other threads:[~2010-07-29 21:01 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2adc4d8d-210e-429c-8188-9b1e99c2718e@d17g2000yqb.googlegroups.com>
2010-07-28 16:16 ` The state of functional programming Georg Bauhaus
2010-07-28 19:37   ` Kulin Remailer
2010-07-28 23:34     ` deadlyhead
2010-07-28 16:31 ` Jeffrey R. Carter
2010-07-28 23:35   ` J.s
2010-07-28 16:40 ` Dmitry A. Kazakov
2010-07-28 17:47   ` (see below)
2010-07-28 18:40     ` Dmitry A. Kazakov
2010-08-03  3:15     ` Randy Brukardt
2010-08-03 13:57       ` (see below)
2010-07-28 19:09   ` Warren
2010-07-28 19:35     ` Dmitry A. Kazakov
2010-07-29 15:20       ` Warren
2010-07-29 17:00         ` Dmitry A. Kazakov
2010-07-29 19:19           ` Warren
2010-07-29 20:40             ` Dmitry A. Kazakov
2010-07-29 21:01               ` Warren [this message]
2010-07-29 23:09                 ` Georg Bauhaus
2010-07-30  8:50                 ` Dmitry A. Kazakov
2010-07-30  9:17                   ` Niklas Holsti
2010-07-30  9:29                     ` Dmitry A. Kazakov
2010-07-29 20:46             ` Niklas Holsti
2010-07-30 13:52               ` Warren
replies disabled

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