Thinking functionally with haskell

Слайд 2

TYPES OF PERFORMERS

Informal

Can execute the same algorithm in different ways.

formal

Performs the same

TYPES OF PERFORMERS Informal Can execute the same algorithm in different ways.
algorithm the same way.

Слайд 4

PROGRAMMING

PROGRAMMING

Слайд 5

PROGRAMMING PARADIGMS

Imperative (procedural, structural, object-oriented, etc.)

Declarative (functional and logical)

PROGRAMMING PARADIGMS Imperative (procedural, structural, object-oriented, etc.) Declarative (functional and logical)

Слайд 6

FUNCTIONAL PROGRAMMING

The basis of functional programming is the calculation of functions (in

FUNCTIONAL PROGRAMMING The basis of functional programming is the calculation of functions (in mathematical terms).
mathematical terms).

Слайд 7

PURE FUNCTION

In programming languages, a pure function is a function that:
Is deterministic;
Has

PURE FUNCTION In programming languages, a pure function is a function that:
no side effects.

Слайд 8

THE DIFFERENCE BETWEEN IMPERATIVE AND FUNCTIONAL PL

The main difference is that imperative

THE DIFFERENCE BETWEEN IMPERATIVE AND FUNCTIONAL PL The main difference is that
languages have states, functional languages do not.

Debugging state changes in imperative languages

No need to debug states in functional languages

Слайд 9

Because:
It supports pure functions only;
It has no states.

Is pure functional programming language

Because: It supports pure functions only; It has no states. Is pure functional programming language

Слайд 10

LAZY EVALUATION

Lazy computation allows Haskell to reduce the total amount of computation

LAZY EVALUATION Lazy computation allows Haskell to reduce the total amount of
at the expense of computations that will not be used. The programmer can simply describe the dependencies of functions from each other and not make sure that "unnecessary calculations" are not carried out.

Слайд 11

STATIC TYPING

Haskell has static strong full typing with automatic type inference. These

STATIC TYPING Haskell has static strong full typing with automatic type inference.
measures allow you to effectively catch bugs at the stage of compiling the source code.

Слайд 12

AN EXAMPLE OF SOLVING A TASK IN HASKELL

Find all possible right-angled triangles

AN EXAMPLE OF SOLVING A TASK IN HASKELL Find all possible right-angled
whose side lengths are in the range from 1 to 10 (natural numbers) and whose perimeter is 24.

Слайд 13

COMPARISON WITH OTHER PL

COMPARISON WITH OTHER PL
Имя файла: Thinking-functionally-with-haskell.pptx
Количество просмотров: 31
Количество скачиваний: 0