魔力Haskell

Pocket

少し前に Twitter で画像を発見して、めちゃめちゃ欲しかった本が届きました。

その名も「魔力Haskell (magic haskell)」です!!!

 

 

名前が強そうだし、表紙もカッコ良いのですぐに購入を決めました。

しかし、写真を良く見てもらうとわかりますが、中国語なんです・・・。
たぶん辞書とか使ったら読めると思うので、その辺は良いのですが、日本国内で販売している書店がありません・・・。

Google で検索してもヒットするのは「天猫」や「淘宝網」ばかりで、eBay ならまだ英語が通じるので Google 翻訳などで何とかなるにしても、中国語でやりとりするとなると不安でしかありません・・・。

なので、もう少し探していると「Amazon」で売っていることがわかりました!しかし、「Amazon.jp」ではなく「Amazon.cn」ということで、日本のアカウントではログインすることができず、新たに「Amazon.cn」のアカウントを取得し、国際発送してもらうことにしました。

ちなみに、書籍の価格は定価79元 (Amazon だと 53元)でしたが (1元はだいたい16円~17円ぐらいなので、書籍代はとてもお安いです) 、それに対して国際発送の送料は110元・・・。

魔力Haskell もう2つ買えるんだけど・・・と思いながら安心・安全の Amazon を利用しました。ちなみに元も通貨の単位として¥を使うみたいで、(¥53.00) などと表記されていました。

 

3日程度でちゃんと届いたので、結果的には Amazon にして正解だったように思います。

届いた本の状態は

  • 軽く表紙が曲がっている
  • 軽く背表紙が曲がっている
  • 書籍全体が湿気にやられた感じになっている

という感じで破れたりは無かったです!

書籍に関する個人的な感想としては、Haskell を学ぶ1冊目としてはオススメしないだろうと思います。立ち位置としては RWH のような感じですが、何かプロダクトを作るというものではなく、ライブラリの紹介 + 実例が豊富に載っています。特に、パッケージの紹介に関しては個人的にも納得できるラインナップでした。また、型レベル演算の話など比較的新しいトピックも入っているため、3冊目ぐらいに読むと良いのかもしれません。

 

最後に、まだ読んでないですが書籍の内容を軽く紹介して終わりにしたいと思います。

— Part 1
1章 Haskell の基礎
・Haskell の凄く簡単な説明
・Prelude でよく使う関数の紹介
・ghci

2章
・data
・パターンマッチ
・case
・@パターン
・exhaustiveness checking
・Bool, Maybe
・レコード構文
・レイアウトルール

3章
・リスト
・partial function と total function の説明
・lazy evaluation
・spine
・図でリストの構造を説明している点がわかりやすい

4章
・タプル
・型推論
・型関数
・カインド
・zipWith
・説明に js のコードがちょくちょく出てくる
・カリー化

5章
・ユニット
・$ と &
・λ関数
・関数合成
・where
・ガード式
・言語拡張: MultiWayIf
・point-free
・η-conversion

6章
・高階関数 (map, filter, foldl, foldr)
・integral
・scanl

7章
・型クラス
・言語拡張: InstanceSigs
・Show/Read

8章
・Ord クラス
・Enum クラス
・Bounded クラス
・Num クラス

9章
・type
・newtype
・bottom
・unlifted type, lifted type
・lazy evaluation, eager evaluation
・call-by-need, call-by-value
・表示的意味論と参照透明性
・:print, :sprint, :force
・seq, deepseq
・strict

10章
・モジュールについて
・cabal
・ghc-pkg
・haddock
・formal form, weak head normal form

— Part 2
11章
・Functor
・category
・Hask category
・Identity, Const

12章
・Lens (view, set, over)

13章
・Applicative
・liftA, liftA2, liftA3

14章
・Monoid
・Product, Sum
・Any, All
・Endo
・Dual
・ZipList

15章
・parser
・optparse-applicative

16章
・Monad
・do 記法
・when, unless, void

17章
・リスト内包表記
・MonadPlus
・sequence, sequence_
・mapM, mapM_
・replicateM, replicateM_
・forever
・filterM
・foldM, foldM_

18章
・Reader モナド

19章
・State モナド
・Random

20章
・IO モナド
・IORef
・forkIO
・ST
・unsafePerformIO

— Part 3
21章
・GHC 拡張
・TupleSections, LambdaCase, MultiWayIf, BinaryLiterals, BangPattern, NamedFieldPuns, RecordWildCards
・irrefutable pattern
・UNPACK, INLINE, INLINABLE, NOINLINE
・-o, -prof, -0x/0, -vx/v, -Wall, -Werror, -static, -threaded
・profile

22章
・Foldable
・Traversable
・Data.Coerce

23章
・計算量について
・array

24章
・モナド変換子
・ReaderT
・Identity, IdentityT
・StateT
・RandT

25章
・lift
・MonadIO
・MonadState, MonadReader
・type family
・Lazy StateT, Strict StateT
・Writer

26章
・bytestring
・text, utf8-string
・mono-traversable

27章
・wai/warp
・wai-extra
・WebSocket
・Socket

28章
・persistent
・esqueleto

29章
・Template Haskell
・Q モナド
・splice
・reify

30章
・並列, 平行について
・STM

31章
・Typeable
・Dynamic
・existential type
・type family
・data family
・GADT
・DataKinds

32章
・aeson

33章
・exception

魔力Haskell

コメントを残す

メールアドレスが公開されることはありません。

Top