Gaucheでファイル書き込みをしたい素人中の素人以下

なんだってGaucheなのかと思う方がいらっしゃるでしょうが、本当に何ででしょうね?
まあ、僕にはわかりませんが。
わかる必要もないことです。

さて。
今回、ランプの魔人はリストをファイルに書き出したいという要望をしぶしぶ叶えてくれるそうです。魔法の花火はいらないよ。

どんなリスト?:

(5.3453 2.3428 ......)

こんな実数がいくも並んだようなリスト(仮にこれをtestとします)を、

(plot-file "test.dat" test)

こんな感じで、

5.3453
2.3428
......

みたいに(この例ならtest.datに)書き出します。
本当に、何でscheme処理系?

プログラム:

最初に言っておきます。
僕は初心者プログラマです。
遅きに失した感があり過ぎますが、念のため。
では、心してください。

(define (plot-file fname lis)
  (define (print-loop-file lis port)
    (if (null? lis) '()
        (begin
          (format port "~D\n" (car lis))
          (print-loop-file (cdr lis) port))))
  (let ((output-port (open-output-file fname)))
    (print-loop-file lis output-port)
    (close-output-port output-port)))

以上。
まとめると、ポート開いて、書き出して、ポート閉じるんです。
……としか、書きようがねぇ……

2010/12/4:追記:

この記事が気になった方は、コメントも参照してください。