Haskell
環境 ghc 7.10.2 CentOS7.0 Problem 4 - PukiWiki Euler problems/1 to 10 - HaskellWiki だと結構力技なので、少し考えてみた。 1 main :: IO () 2 main = print $ head [(x, y, z) | x <- palindromes dgt, y <- factors dgt, let z = x `div` y, x `mod` …
環境 ghc 7.10.2 CentOS7.0 Problem 2 - PukiWiki の 「数列の項の値が400万以下の, 偶数値の項の総和を求めよ.」 を 「数列の項が400万以下の, 偶数値の項の総和を求めよ。」 と間違って解いてみた。 1 main :: IO () 2 main = print . sum' .filter even $…
環境 ghc 7.10.2 CentOS7.0 Haskellのパッケージ管理をstackにしてみた。 順調にインストールはし、Yesodもcabal hellせずナイスと思ったら、ghc-modがインストールできない。 $ stack install ghc-mod While constructing the BuildPlan the following exce…
環境 ghc 7.8.3 CentOS7.0 HaskellでExif情報を使って、写真を整理するスクリプトを書いてみた。 github.com ・・・まだExif撮影日時ごとにディレクトリ作成して、画像をコピーするだけ。 Exif取得自体はHsExifといモジュールを使ったが、そもそもHaskell自…
環境 ghc 7.8.3 CentOS7.0 「すごいHaskellたのしく学ぼう!」第13章 メモ 13.6のチェスの演習問題をやってみた。 import Control.Monad type KnightPos = (Int, Int) -- (横, 縦) moveKnight :: KnightPos -> [KnightPos] moveKnight (c,r) = do (c', r') <…
環境 ghc 7.8.3 CentOS7.0 「すごいHaskellたのしく学ぼう!」第13章 メモ 簡易Monadまとめ Monad(モナド) ▽定義 class Monad m where return :: a -> m a (>>=) :: m a -> (a -> m b) -> m b (>>) :: m a -> m b -> m b x >> y = x >>= \_ -> y fail :: Str…
環境 ghc 7.8.3 CentOS7.0 「すごいHaskellたのしく学ぼう!」第10,11章 メモ ファンクター、アプリカティブのとりあえず、最低限必要そうな部分をまとめ。 でも間違いなく、こちらの方が、はるかに分かりやすいです。 なので、以下は自分用のまとめです。 F…
環境 ghc 7.8.3 CentOS7.0 「すごいHaskellたのしく学ぼう!」第07章 メモ この辺で、言葉の定義がよくわからなくなっていたので、まとめてみた。 言葉 説明 例 型変数 関数の明示的な型宣言に使われるどんな型も取り得る事を意味する head :: [a] -> a この…
Haskellを勉強したときの記事まとめ ■すごいHaskellたのしく学ぼう 一度通読したけどしばらく放置して読書会に行ったら、さっぱり忘れていたので再読。 今度は忘れないようメモ。 型クラス、型クラス制約、型注釈など 言葉の定義まとめ(型クラス、型コンス…
環境 ghc 7.8.3 CentOS7.0 「すごいHaskellたのしく学ぼう!」メモ 読了:第02章まで 型変数 ghci> :t head head :: [a] -> a このaを型変数と呼ぶ。 どんな型も取り得るという事を意味する。 型クラス 何らかの振る舞いを定義するインターフェース。 具体的…
環境 CentOS 7.0 haskell platform 2014.2.0.0 基本的に公式のマニュアルに従って実行する。 Haskell Platform for Linux最新のhaskell platformを公式から取得 $ cd / $ wget https://www.haskell.org/platform/download/2014.2.0.0/haskell-platform-2014.…
環境 CentOS 6.5 HaskellPlatform2.11.6 yumでのインストールは簡単。yumリポジトリをインストール $ cd /usr/src/redhat/RPMS $ wget http://sherkin.justhub.org/el6/RPMS/x86_64/justhub-release-2.0-4.0.el6.x86_64.rpm $ rpm -ivh justhub-release-2.0-…