てきとうなメモ

本の感想とか技術メモとか

Haskell

ラムダぬこ

Arcanux.orgtail recursionでちょっと笑った.

Haskellの勉強 (7) - 型クラス

型クラスについて

Haskellの勉強 (6) - ユーザ定義型

新しい型をユーザが定義する方法

Haskellの勉強 (5) - リスト (2)

PreludeListその2

完全数

完全数というのは自分の除く約数の和が自分に等しい数.例えば 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14なので,6と28は完全数である.これをHaskellで書いてみる measure n = [ x | x <- [1..(n `div` 2)], n `mod` x == 0 ] perfect = [x | x <- [1..], x =…

Haskellの勉強 (4) - リスト (1)

基本的なリスト処理関数はPreludeListの中にある.Haskell 98 Reportに実装のサンプルが記述されている.http://www.haskell.org/onlinereport/standard-prelude.html head, tail, last, init, null head :: [a] -> a head (x:_) = x head [] = error "Prelu…

Haskellの勉強 (3) - 関数を定義する

パターンマッチ リストの長さを求める関数lengthを考える length [] = 0 length (x:xs) = 1 + length xs'x:xs'はxがリストの最初の部分を表し,xsがリストの最後の部分を表す.これは,「空リストならば0を返し,x:xsの形であれば1+(xsのリストの長さ)の値を…

Haskellの勉強 (2) - ghciをもう少し使ってみる

起動 $ ghci ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4.1, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base-1.0 ... lin…

Haskellの勉強

Haskellの勉強も始めた.教科書としては以下のものを使ってる.