Scala と Haskell

怖くなれない

1月 (前回)

祝 ✩⋆¸¸.•¨꒰⁎˃ ॢꇴ ॢ˂⁎꒱¨•.¸¸⋆

アプリ リリース (੭ु ›ω‹ )੭ु⁾⁾♡


祝 ✩⋆¸¸.•¨꒰⁎˃ ॢꇴ ॢ˂⁎꒱¨•.¸¸⋆

SNS カテゴリ 1位 (੭•̀ᴗ•̀)

本題: Scala と Haskell

  1. Haskell も勉強しとくといいらしいぞ!
  2. すごいH本を買った
  3. 途中まで読んだ
  4. 放置
  5. 重い腰が上がりかけている <- イマココ

最初から読みなおす

  • 10/15 章まで読んだ気がしたけど、最初から
  • 新宿Scala座のある日の午前中に読む!
  • 1000回目あたりで読み終わるのでは?

おそらく今日は…

  • 環境構築
  • 基本的な文法をおさらい

Haskell のコードを読んだことがない人を対象とするぐらい初歩的なやつ

環境構築

Mac なら

brew update
brew install ghc
brew install haskell-platform

30分ぐらいかかる₍₍ (ง ˙ω˙)ว ⁾⁾

ghc: The Glasgow Haskell Compiler

インタプリタの起動

Scala の REPL と同じようにコンソール上で色々実行できるインタプリタがある.

ghci

と実行すると起動する.

関数の実行

Prelude> 1 + 2
3
Prelude> succ 1
2
Prelude> succ 4
5

1 + 2 も関数を実行しているの?

+ と言うのは2つの引数を受け取り
それらを加算する中置関数です.


ちなみに関数界隈では
関数を実行する というよりも
関数を適用するという言い方をします

中置関数? と 前置関数?

中置関数

引数1 関数名 引数2
1 + 2

前置関数

関数名 引数 ...
succ 1
div 2 1

前置関数 -> 中置関数

div 2 11/2 なのか 2/1 なのか分かり難い…

なので

2 `div` 1

とも書ける.

※ div は2つの整数を除算を行う関数

中置関数 -> 前置関数?

Prelude> (+) 1 2
間違ってるかもしれないけど

これは部分適用を利用していて、詳細に書くと

Prelude> (((+) 1) 2)

ということをしていて、

関数 ”+” に “1” を部分適用した関数に “2” を適用している

時間切れなのでおわり ⁝(ृʾ́꒳ʿ̀ ृ )ु⁝


Scala と Haskell の書き方の違いを比較とかしたかったけど、そこまでいけなかった…


次回は関数定義の方法とかをやりたい…

突然の宣伝

この前、おじゃまさせてもらったのですが、異空間で面白かったです

日本初の小中学生向け
ICT/プログラミング学習機関

http://www.tento-net.com/

講師募集中!!