
On 20 August 2010 13:29, Felipe Lessa
Oh, an example:
*Main> fromList [1..8] :: SkipList Z Int Cons (Branch 1 1 None None) (Cons (Branch 3 2 (Branch 1 3 None None) (Branch 1 4 None None)) (Cons (Branch 4 5 (Branch 3 6 (Branch 1 7 None None) (Branch 1 8 None None)) None) Empty)) *Main> fromList [1..8] :: SkipList (S Z) Int Cons (Branch 3 1 (Branch 1 2 None None) (Branch 1 3 None None)) (Cons (Branch 5 4 (Branch 3 5 (Branch 1 6 None None) (Branch 1 7 None None)) (Branch 1 8 None None)) Empty) *Main> fromList [1..8] :: SkipList (S (S Z)) Int Cons (Branch 7 1 (Branch 3 2 (Branch 1 3 None None) (Branch 1 4 None None)) (Branch 3 5 (Branch 1 6 None None) (Branch 1 7 None None))) (Cons (Branch 1 8 None None) Empty)
*Main> let x = fromList [1..8] :: SkipList Z Int *Main> toList x [1,2,3,4,5,6,7,8] *Main> x `index` 3 Just 4 *Main> x `index` 8 Nothing
How about fromList [1..] like Evan's original email had (which I think is going to be a problem here as well)? -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com