Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What is Haskell?

taashi
February 09, 2023
28

What is Haskell?

taashi

February 09, 2023
Tweet

Transcript

  1. 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.
  2. Haskell is … (2/2) ・a strongly typed language In other

    words, it is type safe. It also has a feature called type inference.
  3. 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.
  4. (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.
  5. (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.
  6. (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.
  7. (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
  8. (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”
  9. (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.
  10. More keywords … ・Lazy evaluation ・Partial adaptation ・Currying ・Monad ・Lambda

    calculus/functions etc… If you are interested, come to me