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