This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: running programs.
- To: Friedrich dot Dominicus at inka dot de
- Subject: Re: running programs.
- From: Clark McGrew <mcgrew at ale dot physics dot sunysb dot edu>
- Date: Fri, 12 Nov 1999 09:09:48 +0900 (JST)
- CC: clark dot mcgrew at ccmail dot sunysb dot edu, guile at sourceware dot cygnus dot com
- References: <m11lgzN-000UuAC@boxer.physics.sunysb.edu> <382A6ECC.6A620F87@inka.de>
- Reply-to: clark dot mcgrew at sunysb dot edu
Hello,
Friedrich> What is your problem with that. I think it's Scheme
Friedrich> with extenstions to facilate Shell-programming so what
Friedrich> is the problem in scsh one can write (let ((ls-output
Friedrich> (run/strings (ls)))
Please correct me if I'm wrong, but as far as I understand you can't
use run/strings as a pipe. you need the "(run (| (prog) (prog)) (<
file))" stuff (it's been a while since I've used scsh so i've probably
got the syntax completely wrong).
I'm afraid that this is going to sound like criticism of scsh. That's
not my intention; everything I list here is a "personal preference".
This is why I don't think scsh is the cat's meow.
I also find scsh is a little heavy (8300 lines code plus SLIB above
the interpreter to run a pipe is a little heavy for a 20 line script).
Further, almost everything it does can already be done directly from
guile. I don't see any reason to add an entire language on top of
guile's current library just to run a program.
To my mind, scsh has tried to make scheme act like shell; however, for
my purposes I would like to run programs in a "schemish" way. For
instance, scheme is a prefix language so I want pipes to be in prefix
order. (run "grep" (run "ls")), not "(run (| (grep) (ls))).
Regards,
Clark