Lakhasly

Online English Summarizer tool, free and accurate!

Summarize result (100%)

Introduction This paper is an attempt to demonstrate to the larger community of (nonfunctional) programmers the significance of functional programming, and also to help functional programmers exploit its advantages to the full by making it clear what those advantages are.It is a logical impossibility to make a language more powerful by omitting features, no matter how bad they may be. Even a functional programmer should be dissatisfied with these so-called advantages, because they give no help in exploiting the power of functional languages.To those more interested in material benefits, these "advantages" are totally unconvincing. Functional programmers argue that there are great material benefits -- that a functional programmer is an order of magnitude more productive than his or her conventional counterpart, because functional programs are an order of magnitude shorter. Yet why should this be? The only faintly plausible reason one can suggest on the basis of these "advantages" is that conventional programs consist of 90% assignment statements, and in functional programs these can be omitted!Since expressions can be evaluated at any time, one can freely replace variables by their values and vice versa -- that is, programs are "referentially transparent". This freedom helps make functional programs more tractable mathematically than their conventional counterparts. Such a catalogue of "advantages" is all very well, but one must not be surprised if outsiders don't take it too seriously.It says a lot about what functional programming isn't (it has no assignment, no side effects, no flow of control) but not much about what it is. The functional programmer sounds rather like a mediaeval monk, denying himself the pleasures of life in the hope that it will make him virtuous.There is no yardstick of program quality here, and therefore no ideal to aim at. Clearly this characterization of functional programming is inadequate.The special characteristics and advantages of functional programming are often summed up more or less as follows.Functional programming is so called because its fundamental operation is the application of functions to arguments.Functional programs contain no assignment statements, so variables, once given a value, never change.This eliminates a major source of bugs, and also makes the order of execution irrelevant -- since no sideeffect can change an expression's value, it can be evaluated at any time.If omitting assignment statements brought such enormous benefits then Fortran programmers would have been doing it for twenty years.We must find something to put in its place -- something that not only explains the power of functional programming but also gives a clear indication of what the functional programmer should strive towards.A main program itself is written as a function that receives the program's input as its argument and delivers the program's output as its result.Typically the main function is defined in terms of other functions, which in turn are defined in terms of still more functions, until at the bottom level the functions are language primitives.All of these functions are much like ordinary mathematical functions, and in this paper they will be defined by ordinary equations.We are following Turner's language Miranda[4]2 here, but the notation should be readable without specific knowledge of this.More generally, functional programs contain no side-effects at all.One cannot write a program that is particularly lacking in assignment statements, or particularly referentially transparent.This relieves the programmer of the burden of prescribing the flow of control.A function call can have no effect other than to compute its result.This is plainly ridiculous.


Original text

Introduction
This paper is an attempt to demonstrate to the larger community of (nonfunctional) programmers the significance of functional programming, and also
to help functional programmers exploit its advantages to the full by making it
clear what those advantages are.
Functional programming is so called because its fundamental operation is
the application of functions to arguments. A main program itself is written as
a function that receives the program’s input as its argument and delivers the
program’s output as its result. Typically the main function is defined in terms of
other functions, which in turn are defined in terms of still more functions, until
at the bottom level the functions are language primitives. All of these functions
are much like ordinary mathematical functions, and in this paper they will be defined by ordinary equations. We are following Turner’s language Miranda[4]2
here, but the notation should be readable without specific knowledge of this.
The special characteristics and advantages of functional programming are
often summed up more or less as follows. Functional programs contain no
assignment statements, so variables, once given a value, never change. More
generally, functional programs contain no side-effects at all. A function call
can have no effect other than to compute its result. This eliminates a major
source of bugs, and also makes the order of execution irrelevant — since no sideeffect can change an expression’s value, it can be evaluated at any time. This
relieves the programmer of the burden of prescribing the flow of control. Since
expressions can be evaluated at any time, one can freely replace variables by
their values and vice versa — that is, programs are “referentially transparent”.
This freedom helps make functional programs more tractable mathematically
than their conventional counterparts.
Such a catalogue of “advantages” is all very well, but one must not be surprised if outsiders don’t take it too seriously. It says a lot about what functional
programming isn’t (it has no assignment, no side effects, no flow of control) but
not much about what it is. The functional programmer sounds rather like a
mediæval monk, denying himself the pleasures of life in the hope that it will
make him virtuous. To those more interested in material benefits, these “advantages” are totally unconvincing.
Functional programmers argue that there are great material benefits — that
a functional programmer is an order of magnitude more productive than his
or her conventional counterpart, because functional programs are an order of
magnitude shorter. Yet why should this be? The only faintly plausible reason
one can suggest on the basis of these “advantages” is that conventional programs
consist of 90% assignment statements, and in functional programs these can be
omitted! This is plainly ridiculous. If omitting assignment statements brought
such enormous benefits then Fortran programmers would have been doing it
for twenty years. It is a logical impossibility to make a language more powerful
by omitting features, no matter how bad they may be.
Even a functional programmer should be dissatisfied with these so-called
advantages, because they give no help in exploiting the power of functional languages. One cannot write a program that is particularly lacking in assignment
statements, or particularly referentially transparent. There is no yardstick of
program quality here, and therefore no ideal to aim at.
Clearly this characterization of functional programming is inadequate. We
must find something to put in its place — something that not only explains the
power of functional programming but also gives a clear indication of what the
functional programmer should strive towards.


Summarize English and Arabic text online

Summarize text automatically

Summarize English and Arabic text using the statistical algorithm and sorting sentences based on its importance

Download Summary

You can download the summary result with one of any available formats such as PDF,DOCX and TXT

Permanent URL

ٌYou can share the summary link easily, we keep the summary on the website for future reference,except for private summaries.

Other Features

We are working on adding new features to make summarization more easy and accurate


Latest summaries

ad يترقب المقيم...

ad يترقب المقيمون في دول مجلس التعاون الخليجي بدء تفعيل التأشيرة الخليجية الموحدة بعد مرور أكثر من ع...

Bullying is a r...

Bullying is a repeated aggressive behavior that involves an imbalance of power between the bully and...

فاللغة العربية ...

فاللغة العربية ليست فقط لغة المسلمين، ووسيلة لتحقيق غاية أخرى وهي تعديل سلوك التلاميذ اللغوي من خلال...

1-تعتبر أسرة مح...

1-تعتبر أسرة محمد آل علي الإبداع والإبتكار هي أول نقطة في الإنطلاق إلى التحسين في شتى المجالات حيث ق...

يعتبر فول الصوي...

يعتبر فول الصويا من المحاصيل الغذائية والصناعية الهامة على المستوى العالمي نظراً لاحتواء بذوره على ن...

Traffic Padding...

Traffic Padding: inserting some bogus data into the traffic to thwart the adversary’s attempt to use...

السلام عليكم ور...

السلام عليكم ورحمة الله وبركاته اليوم ذهب إلى دورة القرآن وتعلمت القرآن ثم عدت إلى منزلي ومكتبي قلي...

يجمع نظام التكا...

يجمع نظام التكاليف بجوار المحاسبة على الفعليات،التوفيق في ظروف حدوثها وأسبابها ومدى الكفاءة في التنف...

نطاق البحث يركز...

نطاق البحث يركز هذا البحث على تحليل الأطر القانونية والمؤسساتية لعدالة الأحداث، مع دراسة النماذج الد...

نفيد بموجب هذا ...

نفيد بموجب هذا الملخص أنه بتاريخ 30/03/1433هـ، انتقل إلى رحمة الله تعالى المواطن/ صالح أحمد الفقيه، ...

العدل والمساواة...

العدل والمساواة بين الطفل واخواته : الشرح اكدت السنه النبويه المطهرة علي ضروره العدل والمساواة بين...

آملين تحقيق تطل...

آملين تحقيق تطلعاتهم التي يمكن تلخيصها بما يلي: -جإعادة مجدهم الغابر، وإحياء سلطانهم الفارسي المندثر...