When I write a simple script and pass it to runhaskell, it works fine, but not when I add a shebang and try executing it directly. The script is this:
#!/usr/local/bin/runhaskell
import Data.List (intercalate)
main :: IO ()
main = putStrLn $ intercalate " " $ map show [1..10]
If I try $ runhaskell count.hs
bash prints 1 2 3 4 5 6 7 8 9 10
as expected, but if I try ./count.hs
I get the following error:
./count.hs: line 3: syntax error near unexpected token `('
./count.hs: line 3: `import Data.List (intercalate)'
Is this error originating in bash or runhaskell? And how do I fix it?
Try using:
#!/usr/bin/env runhaskell
...
Note: this is a feature/issue with OSX where shebang interpreters are required to be binaries. See Shebang pointing to script (also having shebang) is effectively ignored for more details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With