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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,b3f07bd1ad77d438 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news4.google.com!proxad.net!feeder1-2.proxad.net!feeder.erje.net!newsfeed.velia.net!noris.net!newsfeed.arcor.de!newsspool4.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Fri, 30 Jul 2010 01:09:32 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.7) Gecko/20100713 Thunderbird/3.1.1 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: The state of functional programming References: <2adc4d8d-210e-429c-8188-9b1e99c2718e@d17g2000yqb.googlegroups.com> <1oubrlamjqe8q$.bdwkb9i7ys6b$.dlg@40tude.net> <17hhchqy1a2si.1akul43vk1sd9.dlg@40tude.net> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <4c520a2d$0$7663$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 30 Jul 2010 01:09:33 CEST NNTP-Posting-Host: 4fdcfee2.newsspool1.arcor-online.net X-Trace: DXC=hSMO1CESAG_fkIPCY\c7>ejVHaBLPQ78TOeM?QNb6Jk8]RI X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:12693 Date: 2010-07-30T01:09:33+02:00 List-Id: On 7/29/10 11:01 PM, Warren wrote: > Again, in Ada you "declare" the "how". In FP, you "declare" > the "problem" to be solved. > Anyway, I'm done here. I'm starting to feel like > a parrot. I guess, then, you will ignore my chatter through the cage's wires. ;) Is there anything non-FP in let input = float_of_string Sys.argv.(1) in let output = print_float in let square x = x *. x in output (square input) ;; I really don't know how it is possible to "declare" the "problem" in FP without thinking about "how" some functions establish the "what" of the solution. Even in Prolog. To me FP always boils down to assembling a solution from "more primitive" functions. These are ultimately composed of initial functions. The process of arranging functions properly will establish the "how" part of FP. I *have* to write the proper equations, choosing the correct functions; I *have* to write expressions involving the correct functions. These are not pre-solved. I do *not* in general instruct an Ada compiler how to chose a sequence of processor instructions for my Ada program. The only difference I see is that in true FP there is no explicit state manipulation. Has there been a true FPL other than inference engines before the point when Haskell introduced monads? Georg