-f flag to runghc broken, or is it just me? (because trying switch elegantly between ghc 6.6 and ghc 6.7)
I'm doing a lot of switching between ghc 6.6 and ghc 6.7 on the same computer. I install modules using $ runghc Setup.hs configure etc. I would like to specify which version of ghc should be getting the package installed via the f flag to runghc $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>runghc runghc: syntax: runghc [-f GHCPATH] [GHC-ARGS] FILE ARG... but this appears to be broken. $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>runghc arghandling-nice.hs arghandling-nice.hs: args length does not equal 3. args: : [] usage example: $ runghc arghandling-nice.hs firstarg secondarg thirdarg without the flag works but $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>runghc -f /usr/local/bin/ghc-6.6.1 arghandling-nice.hs does nothing. $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>ls -l /usr/local/bin/ghc-6.6.1 -rwxr-xr-x 1 root root 151 2007-06-16 20:22 /usr/local/bin/ghc-6.6.1 In general I don't like using runghc because it doesn't appear to be documented anywhere except that (incorrect?) usage message. Is there a way to do a package install just using ghc -e? (Sure I could compile, but it helps me sometimes if I can not, a la runghc.) At any rate I couldn't figure out how to pass arguments to main via ghc -e. $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>cat arghandling-nice.hs import System main = do args <- getArgs let usagemsg = "usage example: $ runghc arghandling-nice.hs firstarg secondarg thirdarg" case args of [first,second,third] -> process first second third _ -> error $ "args length does not equal 3. args: : " ++ ( show args ) ++ "\n" ++ usagemsg process a b c = print $ unwords [a,b,c] Thanks for anybody who can help me out with this. Thomas. --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
this works. now if only there were a "quiet" option for ghci... well, for me, I guess this may be goodbye to poor sad undocumented malfunctioning runghc.. hartthoma@linuxpt:~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>echo ":main 1 2 3" | /usr/local/bin/ghci-6.6.1 arghandling-nice.hs ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.6.1, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base ... linking ... done. [1 of 1] Compiling Main ( arghandling-nice.hs, interpreted ) Ok, modules loaded: Main. *Main> Loading package haskell98 ... linking ... done. "1 2 3" *Main> Leaving GHCi. Thomas Hartman <thomas.hartman+external@db.com> Sent by: haskell-cafe-bounces@haskell.org 08/22/2007 01:38 PM To "haskell-cafe@haskell.org" <haskell-cafe@haskell.org> cc Subject [Haskell-cafe] -f flag to runghc broken, or is it just me? (because trying switch elegantly between ghc 6.6 and ghc 6.7) I'm doing a lot of switching between ghc 6.6 and ghc 6.7 on the same computer. I install modules using $ runghc Setup.hs configure etc. I would like to specify which version of ghc should be getting the package installed via the f flag to runghc $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>runghc runghc: syntax: runghc [-f GHCPATH] [GHC-ARGS] FILE ARG... but this appears to be broken. $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>runghc arghandling-nice.hs arghandling-nice.hs: args length does not equal 3. args: : [] usage example: $ runghc arghandling-nice.hs firstarg secondarg thirdarg without the flag works but $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>runghc -f /usr/local/bin/ghc-6.6.1 arghandling-nice.hs does nothing. $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>ls -l /usr/local/bin/ghc-6.6.1 -rwxr-xr-x 1 root root 151 2007-06-16 20:22 /usr/local/bin/ghc-6.6.1 In general I don't like using runghc because it doesn't appear to be documented anywhere except that (incorrect?) usage message. Is there a way to do a package install just using ghc -e? (Sure I could compile, but it helps me sometimes if I can not, a la runghc.) At any rate I couldn't figure out how to pass arguments to main via ghc -e. $ :~/personal/PersonalRepos/pharchive/learning/haskell/UnixTools/arghandling>cat arghandling-nice.hs import System main = do args <- getArgs let usagemsg = "usage example: $ runghc arghandling-nice.hs firstarg secondarg thirdarg" case args of [first,second,third] -> process first second third _ -> error $ "args length does not equal 3. args: : " ++ ( show args ) ++ "\n" ++ usagemsg process a b c = print $ unwords [a,b,c] Thanks for anybody who can help me out with this. Thomas. --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.
On Wed, Aug 22, 2007 at 01:38:39PM -0400, Thomas Hartman wrote:
$ runghc -f /usr/local/bin/ghc-6.6.1 arghandling-nice.hs
does nothing.
Contrary to the usage message, you aren't actually allowed a space after "-f" in 6.6.1 (but you are in 6.7). Use runghc -f/usr/local/bin/ghc-6.6.1 arghandling-nice.hs instead. Thanks Ian
participants (3)
-
Brent Yorgey -
Ian Lynagh -
Thomas Hartman