functional-programming相关知识