packages feed

hat-2.7.0.1: examples/BadInsort.hs

-- Simple faulty insertion sort

sort :: Ord a => [a] -> [a]
-- FAULT (1): missing equation for [] argument
sort (x:xs)	=	insert x (sort xs)

insert :: Ord a => a -> [a] -> [a]
insert x []	=	[x]
insert x (y:ys)	=	if x <= y
 	 	-- FAULT (2): y missing from result
 	 	then x : ys
 	 	-- FAULT (3): recursive call is same
 	 	else y : insert x (y:ys)

main	=	putStrLn (sort "program")