The runtime parses arguments past -- under windows but passes them on as arguments on linux
Starting a executable like this:
app -- arg1 +RTS -s -RTS arg2
Windows and Linux pass different arguments on to the application:
If we want uniform behavior we need to change one of these.
Given the existence of the --RTS flag I'm not sure if the Linux behavior was intended however it matches the behavior you would expect in the *nix world nicely. Therefore changing the behavior on Windows would make more sense.