We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow qualified imports in user-defined libraries and bundle them into a single Main.hs before submission.
Main.hs
Simple word-based replacement doesn't fully resolve name conflicts, but it's better than nothing!
The text was updated successfully, but these errors were encountered:
Initial plan:
Sorry, something went wrong.
Alternative approach is hacking the judge environment.
Here's an example submission code, where {- AC_PROJECT <path> -} denotes a file distribution:
{- AC_PROJECT <path> -}
{- AC_PROJECT src/MyLib/F.hs -} module F (f) where f :: Int -> Int f = (+ 1) {- AC_PROJECT app/Main.hs -} import MyLib.F qualified as F main :: IO () main = print $ f 1
It would expand to such a project:
. ├── app/ │ └── Main.hs └── src/ └── MyLib/ └── F.hs
Then we can use real qualified imports. Ridiculous, cheating.. but actually solid.
The hacking judge approach was not accepted by the AtCoder administrators.
No branches or pull requests
Allow qualified imports in user-defined libraries and bundle them into a single
Main.hs
before submission.Simple word-based replacement doesn't fully resolve name conflicts, but it's better than nothing!
The text was updated successfully, but these errors were encountered: