気まぐれLinux

なんかLinuxとかその他諸々について書くらしい

Haskellをやってる(やってない)

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!

読んでる.1-8読んで9,10飛ばしていま14.分かりやすく説明されている本だと思う.おかげで今モナドがどういうものか理解したつもりでいるが,どう使えばいいのか分からない.どう使えばいいのか分からないならとりあえず使ってみればいいのだ,ということでゲームを作ることにした.考えているのはn番煎じのライフゲームと3番煎じくらいのティッピーぴょんぴょん.Flappy Birdもどきとか絶対別の方法で作ったほうがいいだろと思ってる.うん.

ゲームを作ろうと

tmishima/Hinecraft · GitHub

とか

fumieval/free-game · GitHub

とか

Freeモナドでゲームを作ろう!第1回: Gameモナドの基本 - モナドとわたしとコモナド

とか見てる.のだが

Haskellが全く読めない

一番困っているのが,どの関数がどのモジュールのものなのか分からないことだ.import文ではデフォルトでfull importされてしまうため,全く見分けがつかない.C#とかだと関数は全てクラスに属しているし,Goだとimportのデフォルトの動作が名前付きインポートなので,どの関数が何を対象としたものかはっきり分かるのだが,Haskellは全くわからないのだ….全部import qualified A as Bされているなら別だが.

あとは,やはり親しんでいる手続き言語と比べて記法が独特で馴染めない.

Haskellの壁 - think and error

この方の言うように初学者には優しくないのかもなと思う.それとどこまで進んだのかわからないし,どこまで行けばいいのかもわからない,非常に混沌としている,というのも感じる.