2016-04-07 19 views

答えて

4

:<は同じようにいくつかのタイプの単なるコンストラクタです:はリスト用です。この場合

data Stream a = a :< (Stream a) 

あなたは

streamHead :: Stream a -> a 
streamHead (a :< _) = a 
+0

としてストリームをストリーム内の最初の項目を取得する機能を持っている可能性が右のタイプのちょうどサイクルのですか? 1、2、3のストリームのように。私は最大3と私はstreamHead(3 <:xs)= 1を呼び出します。 –

+1

いいえ、ストリームは無限のシーケンスをモデル化します。空のストリームをモデル化するコンストラクタがないことに注意してください。ストリームが( 'let n = 1:<(2: chepner

+0

非周期ストリームの例は、 'fix $ \ nats - > 0: Cactus

関連する問題