SchemeShellが普及すればよかったのに。

Windowsバッチ処理のfor文なるものを初めて見て思ったこと。
 
こいつはファイルの操作が簡単にできるという意味で、UNIXにけるシェルスクリプトに相当する位置づけだと思う。
(機能的には全く追随できてないと思うけど)
 
どちらもファイル操作を簡単に済ますための概念があるように見え、
forで取得したモノを取り出すためにはforの構文で何ができるかを知る必要がある。
ま、これは別にbatでもshellscriptでも、他の言語でも多分そうだ。
だけど、Lisp系なら取り出したものは全てS式だ。
Gaucheならリストの中身はインタラクティブに見ることができるから、
ちょっと試してデータ構造を確認することもできる。
あとは「いつものように」carやcdr使って処理できる。
 
(って、ここまで書いてて、batでも同じようにDOSコマンドでやりゃできんじゃね?と思ったが、
 多分「表示用のフォーマットで出力される」から、for文で取り出した「データ構造」はわからんな。)
 
で、何が言いたいかというと、基本データ型が、あらゆるデータ構造を表現する万能なデータ型だったら、
その問題領域合わせてその言語を適用できるから、楽だろうになぁと思ったということ。
 
リストなら、ファイルシステムで現在主流のツリー構造を表現するのに何の苦もないし、
それを統括的に処理するcarやcdrを知ってればとりあえず何でもできるわけで。
 
ま、でもそれ(carとかcdrとかでいちいち記述する手間)が面倒になるから、
WindowsのバッチやUNIXシェルスクリプトの存在意義があるのか。
(但し、Windowsバッチ処理<<<<越えられない壁<<<<シェルスクリプト
 
あと、Lisp/Schemeのカッコだらけのコード。
初見での精神的敷居の高さはどうしても否定できないわなぁ。俺自身そうだったし。
 
それにしても、MonaOSのひげぽんさんシェルをSchemeにしたのはこういうことも考えてなのかなぁと思った。
ご本人にお聞きしてみたいなぁ。