Slide 1

Slide 1 text

Do you have a favorite programming language?

Slide 2

Slide 2 text

Do you have a favorite programming language?

Slide 3

Slide 3 text

What programming language do you like?

Slide 4

Slide 4 text

What programming language do you like?

Slide 5

Slide 5 text

What is Haskell? My favorite language. Takashi.sato 2023/0/09

Slide 6

Slide 6 text

Haskell is …

Slide 7

Slide 7 text

Haskell is … (1/2) ・Functional language In particular, it is a pure functional language.

Slide 8

Slide 8 text

Haskell is … (1/2) ・Functional language ・Compiled language In particular, it is a pure functional language. However, it can also be called from an interpreter like a script language.

Slide 9

Slide 9 text

Haskell is … (2/2) ・a strongly typed language In other words, it is type safe. It also has a feature called type inference.

Slide 10

Slide 10 text

Haskell is … (2/2) ・a strongly typed language In other words, it is type safe. It also has a feature called type inference. ・a popular language for holidays ・also said to be "Real programmers use Haskell" These are rumors. (By the way, the latter is one of the Haskell books.

Slide 11

Slide 11 text

(Pure)Functional language is …

Slide 12

Slide 12 text

(Pure) Functional language is … (1/2) ・a programming language that has only functions Processes are realized by combining functions. Instructions are not written line by line.

Slide 13

Slide 13 text

(Pure) Functional language is … (1/2) ・a programming language that has only functions Processes are realized by combining functions. Instructions are not written line by line. ・usually side-effect free Side effects refer to features that change the logical state of the computer. So it has referential transparency.

Slide 14

Slide 14 text

(Pure) Functional language is … (2/2) ・no variables and its values are immutable For convenience we call them “values”, but you can see constant functions that always return the same value. So this is also a function.

Slide 15

Slide 15 text

(Pure) Functional language is … (2/2) ・no variables and its values are immutable For convenience we call them “values”, but you can see constant functions that always return the same value. So this is also a function. a = 10

Slide 16

Slide 16 text

(Pure) Functional language is … (2/2) ・no variables and its values are immutable For convenience we call them “values”, but you can see constant functions that always return the same value. So this is also a function. a = 10 <- not “assign”, call “bind”

Slide 17

Slide 17 text

(Pure) Functional language is … (2/2) ・no variables and its values are immutable For convenience we call them “values”, but you can see constant functions that always return the same value. So this is also a function. a = 10 <- not “assign”, call “bind” ・not have “for” and “while” Loops are implemented with recursive calls.

Slide 18

Slide 18 text

More keywords …

Slide 19

Slide 19 text

More keywords … ・Lazy evaluation ・Partial adaptation ・Currying ・Monad ・Lambda calculus/functions etc… If you are interested, come to me

Slide 20

Slide 20 text

Thank you for your attention. Have a nice programming life!