using haskell as a shell language

Juan Carlos Arevalo-Baeza jcab@roningames.com
Mon, 5 Nov 2001 19:16:26 -0800


On Tue, 6 Nov 2001 02:46:54 +0000 (GMT), D. Tweed wrote:

>On Mon, 5 Nov 2001, Juan Carlos Arevalo-Baeza wrote:
>
>>correct executable path. The only problem I'm aware of is that=
 the first
>>line (the #! line) might be included in the input piped into=
 the
>>=A0program, which means that you'll have to run it through a=
 filter.
>
>according to http://www.uni-ulm.de/~s_smasch/various/shebang/
>the input isn't piped but rather the name of the file is=
 passed.

   Ouch! :) My bad, then.

>In
>addition to ensuring the run program doesn't misinterpret the #!=
 line the
>current directory is also kept where it is even if the script is=
 being
>invoked by ../../script.hs (for example) so you either need to=
 somehow
>pass include path arguments or have all your imports being=
 absolute paths.

   Now, this sounds very wrong to me. The interpreter/compiler=
 should first look for imported modules in the directory where=
 the current source file was found, not in whatever directory is=
 current in the OS. It's much more consistent and reliable that=
 way, eliminating dependencies on arbitrary OS-related values.

   IMHO, of course. I'd suggest compiler/interpreter vendors to=
 make sure they, at least, allow this kind of behavior by using=
 command-line switches or something. If they haven't done it yet,=
 that is.

   Is this behavior specified in the Report? And what's the=
 rationale for using it? I mean, not even GCC uses this kind of=
 thing (in fact the C/C++ standards specify the proper search=
 order for #includes).

   Salutaciones,
                        JCAB
email: jcab@roningames.com
ICQ: 101728263
The Rumblings are back: http://www.JCABs-Rumblings.com