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

Haskellでポーカーを作ろう 第三,四回のメモ

asパターン パターンマッチの際にパターンマッチの対象となった値,つまり分解する前の値もまだ使いたいときがある.このようなときにasパターンが使える. asパターンでは対象とするパターンの前にそのパターンにマッチさせる変数を@付きで配置する 変数@パ…

Haskellでポーカーを作ろう 第二回についてメモ

Haskellでポーカーを作ろう〜第二回 ポーカー・ハンドの判定をする 前編〜 - Creatable a => a -> IO btune.hateblo.jp Haskellには、部品同士を繋げるための糊が呆れるほど沢山ありますので、 とにかく、必要だと解っている部分は作ってしまうのがポイント …

「関数プログラミング実践入門」を読みました

関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus)作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見る 読む前の私 すごいHaskellたのしく…

関数プログラミング実践入門 【読書記録 6章】

オススメの開発,設計テクニックについて 部品を組み合わせる力に長けた言語であるほど「トップダウン(=部品に分解してから再度組み合わせる)思考」とは相性がよい hoogleは標準ライブラリから関数などを探すことのできる検索エンジン.「識別子名」からはも…

HLintを使ってHaskellのコードをチェックする

自分で書いたHaskellのコードをより「Haskellらしいコード」にするためにチェックしてくれるツールのHLintの導入方法をメモ. HLintをインストール cabalを使ってHLintをインストール $cabal install hlint PATHを通す 私はsandbox環境を利用してインストー…

Cabal sandboxを使ってHaskellのパッケージをいい感じに管理する

Cabal sandboxとは CabalはHaskellのパッケージシステム.Rubyでいうところのgem.ただこのCabalを使ってcabal installコマンドを使うと依存関係のトラブルの元になってしまうとのこと. haskelll のパッケージはcabal sandboxをなるべく使いましょう。 #hasm…

関数プログラミング実践入門 【読書記録 5章】

モナドについて /=はノットイコール Haskellの型クラスは,今回Bool型やInt型やMaybe a型を型クラスBoolLikeのインスタンスにしたように,既存の型や誰かが定義した型に対してインターフェースを後付けすることも,複雑な記述を要せずに可能となっている. …

Haskellコンパイルエラー集

Haskellのコンパイル時に出るエラー,正直意味が分からないものが多いため後で調べるためにメモ.随時更新する Duplicate instance declarations Not in scope: ‘ns’ Perhaps you meant ‘ps’ (line 3) nsなんて見つからないよ.キミが使うべきなのはpsなんじ…

関数プログラミング実践入門 【読書記録 4章】

評価戦略について 遅延評価とは「実際に使うまで計算しない」という計算順序の規則. 遅延評価では,使うところまで計算して使われないところは計算しない.つまり無限を定義しても実際には無限に計算を発生させずに済む. 遅延評価はどこかで実行時エラーや…

関数プログラミング実践入門 【読書記録 3章】

関数について 関数の一部だけに引数を与えたり,セクションを利用して2項演算子の一部のみに引数を与えたりすることができる.これを部分適用と言う Haskellでは関数がカリー化されているので,すべての関数は1引数関数であり,値になるまで複数引数を要する…

関数プログラミング実践入門 【読書記録 2章】

型と値について 関数のリテラルは「無名関数」や「ラムダ式」と呼ばれ \引数 -> 式 という形で記述する Haskellではスペースが関数適用に対応する GHCi上で変数に値を束縛するにはletを使う Haskellではデータの型を明示的に指定する場合,値や変数に対して…

関数プログラミング実践入門 【読書記録 1章】

Haskellと他の言語では書き方がどのようにことなるか例を示しながら説明 Haskellは関数合成が容易. 型検査があるから合成して良いかどうかも型によって検査されるため安全. 一般に例外を正しく扱うのは難しい 「文脈をプログラミングできる力」を利用する…

関数プログラミング実践入門 【読書記録 0章】

「状態」を参照し,あるいは「状態」に変化を与えることで次回以降の結果にまで影響を与える効果のことを副作用と呼ぶ.副作用を持つ手続きは数学的な意味での「関数」では無い. 関数プログラミングにおける関数は,入力だけから出力が決定しそれ以外の要因…

第11回Haskellもくもく会に参加してきた

今までハンズオン形式だったり,LT聞いたりする勉強会には何度か参加したことあったけれども「もくもく会」というものに今回初めて参加した http://haskellmokumoku.connpass.com/event/7258/participation/#participants僕は終始「すごいHaskellたのしく学…