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

やっちのわいわい日記

電通大に編入した元高専生の日記。日記を書きつつ編入のこととか勉強のこととか書こうと思っています。編入とかで質問があるかたは@amhflcl0514にDMくださいお

Haskellはじめた

プリキュアの新シリーズ「まほうつかいプリキュア」が始まりましたね。

序盤の展開がこれまでと違う感じですごく楽しくてすごくいい掴みだったと思います。

二人変身とかもかっこよく、主人公の二人がすごく仲良くて見ててすごく楽しいです。

あと、敵キャラが「御意」って返事する度に笑います。

これからの展開が楽しみです。

キュアップラパパwwwww

あと小麦ちゃんRも楽しいです。

 

以前圏論の勉強をしてるって感じの記事を書きました。

最近読んだ本 「圏論の歩き方」 - へんぬーマリオテニス日記

圏論を勉強する中でHaskellという関数型言語の紹介を何度か見ました。調べてみると圏論の考え方を応用した言語らしく、せっかくなので勉強しようと思いました。関数型言語は授業で少しLISPを触れただけなので慣れていきたいです。

Haskellの環境構築

Haskellの環境構築をどうしようか分からなかったので色々ググってたらHaskellPlatformというのがあったのでそれを使おうと思いました。

https://www.haskell.org/platform/

ちなみにOSはWindows8.1の64ビットです。

HakellPlatformはインストーラみたいなやつをダウンロードして起動してポチポチして10分くらい待つとセットアップが完了してしまうため、僕のような情弱な奴でもGHCの環境が構築できてしまいました。

HaskellWindowsでの環境構築は近年易しくなっているらしくありがたいです。

インストールが完了するとWinGHCIとか使えるようになるのですが、コマンドプロンプトでghciとかghcとかが動くようになるので準備完了です。

ちなみにHaskellPlatformのインストーラが置いてあるところHaskell入門 5ステップ - HaskellWikiここに簡単な使い方も書いてあるので参考にしました。とりあえず階乗の計算と並列計算ができました。

Haskell第一歩

Haskellの環境が構築できました。

図書館にオライリージャパンの“Real World Haskell”というムシキングとかで強そうなカブトムシが表紙の本があったので、この本を順番に追っていくことにしました。

 

Real World Haskell―実戦で学ぶ関数型言語プログラミング

Real World Haskell―実戦で学ぶ関数型言語プログラミング

 

 

1章「始めましょう」をやりました。

とりあえずやったことは

  • ghciの起動方法
  • 簡単な演算とsinとかの関数、小数乗をする演算(**)
  • (+) 2 3 とかいう表記方法
  • ブール論理とか比較とか
  • 演算子の優先順位(:info)
  • 変数の定義方法(:let)
  • リストと文字列、結合演算(++)
  • 「型」という概念が大事だということ(:set(unset) +t)
  • it
  • 分数チックなやつ(:m +Data.Ratio),(%)
  • コマンドプロンプトでのコードの走らせ方

せっかくなんで覚えたことをまとめようと思います。

覚えた演算子意味使い方
** 小数の使える累乗 整数 ** 小数
++ リストの結合 リスト ++ リスト
% 分数 整数 % 整数
: リストの先頭に追加 リストの要素の型 : リスト

 

覚えたコマンド意味
:info (演算子) 演算子の情報を表示
:let 変数を定義
:set +t 演算結果の型を表示
:m +Data.Ratio 分数の演算子を使用するためのおまじない

とりあえず基礎の基礎をやった感じです。

新しい言語を進んでいくのは冒険みたいな感じがして楽しいです。

これから時間があればどんどんやっていきたいと思います。

プリキュア3話で主人公がツインテールになるみたいだったので早く見たいです。