あいかわらず、すごいHaskellを読んで寝ています。
家に帰るとヨメとゲームやっちゃうし仕事中にHaskell遊びするわけにもいかんしで、本読んでばかりで手を動かしていません。だから実感なくて寝るんじゃないかバカなの。
いまだにHaskellの構文を見てピンとくるシーンが少ないです。あたしの脳がHaskellの文をパターンマッチングできてないんだわ。x:xsを認識するのがあたしの限界か?
今日はJustで遊んでみます。
Maybe a型という、なんかもういきなり「ハァ?」と思わずにいられないネーミングのそれですが、
*Main> :t Just 1 Just 1 :: Num a => Maybe a *Main> :t Just 'A' Just 'A' :: Maybe Char *Main> :t Just "Abc" Just "Abc" :: Maybe [Char] *Main> :t Just [] Just [] :: Maybe [a] *Main> :t Just [1] Just [1] :: Num t => Maybe [t]
いたずらを思いついた。
*Main> :t Just Nothing Just Nothing :: Maybe (Maybe a)
ほー。
こんだけかと言われそうですが、何かと勝手に制約を課しがちな、固いあたしの脳みそにとってはわりと快挙というか金星というか、ほめてあげたい感じ。えらいぞあたしの脳。
*Main> :t Just Just 1:1:1: The function `Just' is applied to two arguments, but its type `a0 -> Maybe a0' has only one In the expression: Just Just 1
ダメだろうなとは思ったんだけど。
*Main> :t Just $ Just 1 Just $ Just 1 :: Num a => Maybe (Maybe a)
こうですね。
わからんとこだらけだけど読み進めよう、と思って読み進めると、次々にわからんことになって後戻り。
学ぶと難しいが使えば簡単、といったことをtnomura9さんも仰っていたので、まあまずは黙って手を動かせよってことですよね。