我试图用我实现的懒惰的一阶语言提出一个无限列表的例子。我想知道是否有任何有用的程序使用无限列表,但不使用任何更高阶的函数。
答案 0 :(得分:2)
我最近使用无限列表代表游戏中的玩家:
let playerList = [PlayerA, PlayerB]
let players = cycle playerList
let currentPlayer = head players
let advance = tail players -- "save" this to your players "variable"
-- or, maybe clearer, inside of MonadState [Player]
let advance' = modify tail
我认为你可以提出很多。