はじめてのSchemeプログラム。

そのいち。Hello, world!!。

#!/usr/bin/env gosh
; -*- scheme -*-

(define (main args)
  (display "Hello, world!!")
  (newline)
  0)
; => Hello, world!!

そのに。引数を表示。

#!/usr/bin/env gosh
; -*- scheme -*-

(define (main args)
  (for-each (lambda (arg) 
	      (display arg)
	      (newline))
	    args)
  0)

そのさん。標準入力を標準出力に出力。

#!/usr/bin/env gosh
; -*- scheme -*-

(define (main args)
  (copy-port (current-input-port) (current-output-port))
  0)

そのよん。引数で与えたファイルの内容を標準出力に出力。

#!/usr/bin/env gosh
; -*- scheme -*-

(define (main args)
  (for-each (lambda (file)
	      (call-with-input-file file
		(lambda (in)
		  (copy-port in (current-output-port)))))
	    (cdr args))
  0)

新しい言語にチャレンジするときには、言語仕様そのものよりもライブラリの使い方を覚えるのに時間がかかります。これはどうしようもないですね。まずはList操作、文字列操作、ファイルIOまわりからみていこうと思います。