問題は、以下の通りである。この無限リストはどのように計算されますか?
あなたは$ 100を開始し、 は毎年配合5%の利息を、支払いを受けると仮定すると、毎年持っているお金の量 の無限のリストであるHaskellの変数ドルを定義します。 (インフレ、デフレを無視して、税金、救済措置、経済崩壊の可能性、その他の詳細については、 を参照してください)。ドルは、[100.0,105.0,110.25、 ...]と等しいはずです。
私のソリューションは、次のようであり、それは動作します:
dollars::[Double]
dollars = 100.0 : [1.05 * x | x<- dollars ]
問題は、私はトラブルリストは実質的に計算する方法を理解しているということです。
dollars= 100.0 : [1.05 * x | x<- dollars ]
= 100.0 : [1.05 * x | x<- 100.0 : [1.05 * x | x<- dollars ] ]
= 100.0 : (1.05 * 100.0) : [1.05 * x | x<- [1.05 * x | x<- dollars ] ]
= 100.0 : 105.0 : [1.05 * x | x<- [1.05 * x | x<- dollars ] ]
= 100.0 : 105.0 : [1.05 * x | x<- [1.05 * x | x<- 100.0 : [1.05 * x | x<- dollars ] ] ]
= 100.0 : 105.0 : [1.05 * x | x<- 105.0:[1.05 * x | x<-[1.05 * x | x<- dollars ] ] ]
= 100.0 : 105.0 : 110.25 :[1.05 * x | x<-[1.05 * x | x<-[1.05 * x | x<- dollars ] ] ]
など
それはそれが計算される方法ですか?そうでない場合はどう?はいの場合、これらの種類の計算を概念化する簡単な方法がありますか?