読者です 読者をやめる 読者になる 読者になる

カイヤン雑記帳

カイヤンがやったことを書いておいたり、ぼやきたいことを書き込んだりする場所

Haskellをはじめてみた

おはようございますまたはこんにちはまたはこんばんは。カイヤンです。

8月ももう1週間たってしまいます。今日は広島原爆の日ですね。それは別の記事でぼやこう。

こっちはHaskellの話だけ。だって不穏だもん。(投稿直後の編集)


### 導入
修士論文の研究もひと段落し、それを学会に出すようにまとめる作業をしようという段階になったものの、まだ様式などはよくわからない状況でした。
参加自体の申し込みが12日なためまだ何もすることがないのです。

研究室の先輩とプログラミング言語の話になった中で、関数型言語の話になりました。

実は学部2年のころにHaskellをやらないかとサークルの先輩同期後輩に勧められたのですが、Windowsで環境構築がうまくいかず、挫折していました。
NetbeansJavaをちょろっと書いた経験しか当時の僕にはありませんでした。コマンドプロンプトを触ったことがなかったのです。
どこかにいるであろうghcの使い方もよくわからず、そのまま投げてしまいました。

関数型言語の話になったのをきっかけに、かつて挫折したHaskellを勉強しようという機運がステップ関数のごとく立ち上がりました。
そして居場所は研究室でしたから、目の前にはTeX環境構築に失敗して放置していたLinuxMintの仮想マシンがあります。
これを使わない手はないと、早速はじめました。

### 今んところ
以前Haskellの開発環境はどうしようかと悩んだ時に同期が教えてくれたのがHaskell platformでした。Windowsでこれを動かすのはしくじってしまいましたが、LinuxMintではどうでしょうか。

bicycle1885.hatenablog.com

Haskell platform mint」で検索すると、ぴったりっぽいブログを発見。このブログでもプラットフォームを入れることを推奨していました。
自分のLinuxMintに公式サイトにある手順に従ってapt-get。updateしていなかったせいか少しトラブりましたが、updateして最初からやり直すとすんなり入りました。

いよいよHaskellを動かします。さっとググってHelloWorldのやり方を調べ、Terminalでghciを起動。無事HelloWorldできました。
そのあとはテキストエディタで作った.hsをコンパイル→実行してみる。学部3年のとき、研究室に所属してC言語の課題を解くなかで初めてコンパイル型言語に触れたのですが、
インタープリタ型ばかり触っていたのでコンパイルしただけで実行していないというとても姫力の高いことをしてしまいましたが、そんなことを思い出しながら初めてHaskellを動かしたことに若干感動。

とりあえず何か開発したいものがあるわけでもないので、圏論の理解のためとProjectEulerを解くためくらいのゆるいモチベでゆっくり勉強したいと思います。
すごいH本がC言語を前提知識としていて怖かったのですが、どうやらC言語を理解していなくても関数定義とかFizzBuzzができれば十分なくらいで読めるらしいです(ラボの先輩談。ほんまか)。
すごいH本とか、次のWebサイトとかでちょっとずつ勉強しようと思います。どうやら金融系など頑強さが重要になる場面でHaskellの強い静的型付けが生きるらしいので、プラクティカルなスキルも得られるといいなあなんて狙いも。
qiita.com

ではでは。



……え? 測度論の期末試験?

まあ単位はなんとかなるでしょうタブン。