他の手続きでは述語は停止する時に真を返します。本のストリームを生成します。fおよびseedを使って生成します。result_n-1最初の値は次のシード値になります。(val)valはk-番目のストリームの次のcar部になります。#fk-番目のストリームの新しい情報はありません。()k-番目のストリームの最後に到達しました。以下の例では2つのストリームが作られます。ムで、2つめのものは偶数の無限ストリームです。fの戻り値の数により決定されます。上のstream-unfoldnの説明を参照してください。...を繰り返す無限ストリームを返します。n個のinitを要素とする新しいストリームを生成します。initが省略された場合#fが使われます。無限ストリームが生成されます。n個の要素をもつ新しいストリームを生成します。無限ストリームが生成されます。ストリームの長さは非負の実数countを越えない最大の整数値です。正確数のストリームが作られます。なければ非正確数のストリームになります。endが省略された場合は正の無限大が使われます。大きければ-1が使われます。正確数のシーケンスが、そうでない場合は非正確数のシーケンスが生成されます。R7RSのscheme.streamでは、end引数は必須です。ひとつの数値シーケンス生成手続きです。step))であるような無限シーケンスを返します。stepが省略されたら1が使われます。なければ非正確数のシーケンスが返されます。計算するような無限長のストリームを返します。利便性のためだけにある。listの要素を要素とする新たなストリームを作って返します。文字列を文字のストリームに変換します。文字ストリームの後にそれが付け加えられます。ストリームを返します。readerのデフォルトはread-charです。ストリームには含まれません)。EOFに達してもポートはクローズされません。EOFが読まれた直後に呼ばれます。そこでポートをクローズするこはできます。定義されない、Gaucheの拡張です。ジェネレータgenが生成する値の列からなる遅延ストリームを作って返します。終端を示すものです(EOFはストリームには含まれません)。詳しくはジェネレータを参照してください。あります(遅延シーケンス参照)。イテレータiterから遅延シーケンスを作る手続きです。iterは二つの引数nextとendを取る手続きです。nextは一つの引数を取る手続き、endは引数を取らない手続きです。最後にend手続きを呼びます。使っていて、iterは必要なだけしかイテレーションを行いません。iterは無限の要素を扱うこともできます。ようになっていますが、stream-takeによって最初の10要素しか計算されません。各要素がelt-exprで計算されるストリームを返します。clauseはelt-exprのスコープを作り、繰り返しを制御します。stream-expr)stream-exprが返すストリームの各要素を、xに束縛して繰り返します。変数xのスコープは後続のclauseおよびelt-exprです。expr)変数xに値exprの結果を束縛します。後続のclauseおよびelt-exprです。次の繰り返しに進みます。ストリームを作って返す関数を手軽に定義するマクロです。lazyなnamed-letによるループを書くときに便利なマクロです。このマクロは簡単なパターンマッチングを使ってストリームの要素にアクセスします。stream-exprはストリームを返す式でなければなりません。expr)という形です。入力ストリームは各patternに順マッチするかどうかテストされます。patternには以下の形のいずれかです:()空のストリームとマッチします。...)パターン内の要素の数と入力ストリームの要素数が一致した時にマッチします。pRestにはストリームの残りがマッチします。pRest入力ストリーム全体とマッチします。パターンの各要素は識別子かリテラルのアンダースコア_です。束縛された環境でfenderとexprが評価されます。マッチは失敗となり、次のclauseが試されます。なければexprが評価され、その結果がstream-matchの結果となります。入力ストリームの要素はマッチに必要なだけ取り出されます。consumersこれらの手続きはストリームを取り、その要素を消費し尽します。funcをstreamsの各要素に適用します。streamsが終端に達したところで停止します。streamが終端に達するまで繰り返します。最初のシード値はseed引数で与えられます。最後のシード値が返されます。fの引数順は、他の*-fold系関数のそれと異なることに注意してください。与えられたstreamを全部つないだ新たなストリームを返します。scheme.streamはstream-concatを定義しました。Gaucheにはstream-concatenateがあったので互換性のためにそちらも残しています。streamsはストリームのストリームです。