Haskell入門で最初に読むべきもの
- Haskell 超入門 #Haskell - Qiita ←まずこれを読んで練習問題をしっかりやる
- こわくないHaskell入門(初級) #Haskell - Qiita ←まあこういう考え方もある
- 『すごいHaskellたのしく学ぼう! 』 ←通称「すごいH本」
- Haskellを始める時に役立つ資料 #Haskell - Qiita ←資料のリンク集
- Twitterを巡回していてわかったHaskell初心者が躓きやすいポイント8つ #新人プログラマ応援 - Qiita
Haskellでフロントエンド?
- AsteriusとかGHCJSとかある(あった?)けど…
- Elmなにそれ?
Haskellで2Dグラフィック
- グラフィック描画なら gloss が簡単 (コンセプトは Processing に近いかも)
- キーボードやマウスのイベント、フレーム周期での状態遷移も可能
- glossではじめるグラフィック描画 :: Haskell入門の次に読む記事 #Haskell - Qiita ←良記事
- Beginner’s Haskell: Creating Bitmap Images - mendo.zone ←glossでビットマップ画像を作る
ライブラリ
Stackage にあるライブラリ | package.yaml の dependencies に名前を書くだけ |
Hackage にあるライブラリ | package.yaml の dependencies に名前を書く stack.yaml の extra-deps に名前-バージョンを書く |
GitHub にあるライブラリ | package.yaml の dependencies に名前を書く stack.yaml の extra-deps にリポジトリの情報を書く |
- <Haskell> Stack の使い方メモ - 日記(日記とは言っていない) ←詳しくはこちら
- Stackage Server
- Introduction | Hackage
- Haskell import いろいろ #Haskell - Qiita ←importの書き方いろいろ
- import Mod (x, y) ←カッコ内の名前だけが使える
- import qualified Mod ←Mod.x のようにフルネームで書くように
- import qualified Mod as M ←M.x のようにモジュール名を別名で書ける
chcp 65001
- Windowsで「cannot encode character '\8226'」とか「invalid byte sequence」みたいなエラーメッセージが出たらコードページのせい
- 日本語版のWindowsではいまだにデフォのコードページはCP932(≒Shift-JIS)
- コマンドラインで「chcp 65001」を実行してコードページを UTF-8 に変更する
- WindowsでHaskellを扱う時によく遭遇するエラーと対処法 - Haskell-jp
リストの添え字アクセスはすごく遅い
- ランダムアクセスにO(n)かかるので、巨大なリストでは信じられないほど遅くなる
- リストはパターンマッチやイテレータに使うもの
- ランダムアクセスしたいなら Vector を使う
- づかろぐ on Tumblr: Haskell のリストが遅いと感じたら
- Haskellで解くAtCoder - The curse of λ
モナドとやらについて
- とりあえず分からなくても大丈夫。手も動かさずに無駄に深入りは禁物。
- モナド則がちょっと分かった? #C# - Qiita ←この問題に深入りしないために最初に読むべき
- プログラマのためのモナド入門 - YouTube ←よくわからない
その他
- なぜか、WindowsのPowerShell上だとビルドエラーになるのにコマンドプロンプト上だとビルドが通る場合がある?原因不明。かんちがいかも。
- stackでプロジェクトを作成する場合、プロジェクト名に _ (アンダースコア) は使えない。- (ハイフン) は使える。