Skip to content

Instantly share code, notes, and snippets.

View rajanikantchirmade's full-sized avatar

Rajanikant Chirmade rajanikantchirmade

View GitHub Profile
listsum :: [a] -> a
listsum [] = 0
listsum (x:xs) = x + listsum xs
main = do
let l = [1,2,3,4,5]
print $ listsum l
@rajanikantchirmade
rajanikantchirmade / insertAt.hs
Created August 31, 2017 06:56
insert element at given position
myinsertAt :: (Num a, Eq a, Ord a) => a -> [a] -> a -> [a]
myinsertAt e [] p | p > 1 = error "Position out of bound."
myinsertAt e xs 1 = [e] ++ xs
myinsertAt e (x:xs) p = [x] ++ myinsertAt e xs (p-1)
main = do
let l = [1..6]
print $ myinsertAt 11 [] 1
print $ myinsertAt 11 [1..6] 1
print $ myinsertAt 11 [1..6] 3
print $ myinsertAt 11 [1..6] 7