class, instance

2005年1月8日 結城浩

CRAFT 12.2, 12.3を見ながら、classの練習。

\begin{code}
module Main where
import Char

class Incrementable a where
    inc :: a -> a

instance Incrementable Char where
    inc c = chr ((ord c) + 1)

t1 = inc '3'
t2 = inc 'A'

instance Incrementable a => Incrementable [a] where
    inc = map inc

t3 = inc ['A'..'D']
t4 = inc "HAL"

\end{code}
Main> t1
'4'
Main> t2
'B'
Main> t3
"BCDE"
Main> t4
"IBM"

[craft] 2005年1月8日 22:11

記事一覧

2006 [ 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 ]
2005 [ 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 ]
2004 [ 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 ]

Bloglines

book(3) / char(2) / compiler(3) / craft(5) / data(7) / enum(1) / geb(2) / hawiki(1) / hugs(1) / info(1) / io(3) / list(2) / map(3) / monad(16) / nobsun(12) / report(4) / sicp(2) / soe(8) / suchthat(2) / yaht(8)

記事検索 サイト検索はこちら

豊かな人生のための四つの法則