Scheme のプログラムはトップレベルプログラムを経由して起動される。ライブラリのように、トップレベルプログラムにはライブラリの取り込みがあり、定義があり、式があり、それから実行のためのエントリポイントがある。したがって、トップレベルプログラムは、その導入しているライブラリ群の推移閉包を経由して、 Scheme プログラムを定義している。
次のトップレベルプログラムは (rnrs programs (6)) ライブラリ(R6RS:翻訳:Standard Libraries:10 Command-line access and exit values 参照)の command-line 手続きを経由してコマンドラインの最初の引き数を取り出し、それから、 open-file-input-port (R6RS:翻訳:Standard Libraries:8.2.7 Input ports 参照)を使ってファイルを開き、ポート、すなわちデータの読み込み元としてファイルへの接続を生成し、 get-bytevector-all 手続きを呼び出し、ファイルの内容をバイナリデータとして取り出す。次に put-bytevector を使ってファイルの内容を標準出力に書き出している。
#!r6rs (import (rnrs base) (rnrs io ports) (rnrs programs)) (let ((p (standard-output-port))) (put-bytevector p (call-with-port (open-file-input-port (cadr (command-line))) get-bytevector-all)) (close-port p))