def append(list1, list2): result = [] for item in list1 : result = result + [item] for item in list2 : result = result + [item] return result def concat(lists): result = [] for item in lists: result = append(result, item) return result def filter(function, list): res = [] for item in list: if function(item) : res = res + [item] return res def length(list) : counter = 0 for item in list: counter = counter + 1 return counter def map(function, list) : res = [] for item in list: res = res + [function(item)] return res def foldl(function, list, initial): final = initial for item in list: final = function(final, item) return final def foldr(function, list, initial): final = initial for item in reverse(list): final = function(final, item) return final def reverse(list): result = [] for item in list: result = [item] + result return result