egison / egison-tutorial

The Egison tutorial

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ambiguous occurrence 'optShowVersion'

eggplants opened this issue · comments

Cabal raised error when I was building egison-tutorial-4.0.1 with egison-4.1.0 on haskell:8 docker container:

...
#5 682.3 Failed to build exe:egison-tutorial from egison-tutorial-4.0.1.
#5 682.3 Build log (
#5 682.3 /root/.cabal/logs/ghc-8.10.7/egison-tutorial-4.0.1-e-egison-tutorial-32bbd66ddf7ace983264a8c8fd3aa0a36c7835f7efc41de2c0131eaf79103b5c.log
#5 682.3 ):
#5 682.3 Configuring executable 'egison-tutorial' for egison-tutorial-4.0.1..
#5 682.3 Preprocessing executable 'egison-tutorial' for egison-tutorial-4.0.1..
#5 682.3 Building executable 'egison-tutorial' for egison-tutorial-4.0.1..
#5 682.3 [1 of 2] Compiling Paths_egison_tutorial ( dist/build/egison-tutorial/autogen/Paths_egison_tutorial.hs, dist/build/egison-tutorial/egison-tutorial-tmp/Paths_egison_tutorial.o )
#5 682.3 [2 of 2] Compiling Main             ( Main.hs, dist/build/egison-tutorial/egison-tutorial-tmp/Main.o )
#5 682.3
#5 682.3 Main.hs:43:22: error:
#5 682.3     Ambiguous occurrence ‘optShowVersion’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optShowVersion’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optShowVersion’, defined at Main.hs:51:5
#5 682.3    |
#5 682.3 43 |             Options {optShowVersion = True} -> printVersionNumber
#5 682.3    |                      ^^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:44:22: error:
#5 682.3     Ambiguous occurrence ‘optPrompt’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optPrompt’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3    |
#5 682.3 44 |             Options {optPrompt = prompt} -> do
#5 682.3    |                      ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:61:5: error:
#5 682.3     Ambiguous occurrence ‘optShowVersion’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optShowVersion’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optShowVersion’, defined at Main.hs:51:5
#5 682.3    |
#5 682.3 61 |     optShowVersion = False,
#5 682.3    |     ^^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:63:5: error:
#5 682.3     Ambiguous occurrence ‘optPrompt’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optPrompt’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3    |
#5 682.3 63 |     optPrompt = "> ",
#5 682.3    |     ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:72:28: error:
#5 682.3     Ambiguous occurrence ‘optShowVersion’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optShowVersion’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optShowVersion’, defined at Main.hs:51:5
#5 682.3    |
#5 682.3 72 |     (NoArg (\opts -> opts {optShowVersion = True}))
#5 682.3    |                            ^^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:78:36: error:
#5 682.3     Ambiguous occurrence ‘optPrompt’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optPrompt’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3    |
#5 682.3 78 |     (ReqArg (\prompt opts -> opts {optPrompt = prompt})
#5 682.3    |                                    ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:169:70: error:
#5 682.3     Not in scope: type constructor or class ‘EgisonTopExpr’
#5 682.3     |
#5 682.3 169 | getEgisonExprOrNewLine :: Options -> InputT IO (Either Bool (String, EgisonTopExpr))
#5 682.3     |                                                                      ^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:172:81: error:
#5 682.3     Not in scope: type constructor or class ‘EgisonTopExpr’
#5 682.3     |
#5 682.3 172 | getEgisonExprOrNewLine' :: Options -> String -> InputT IO (Either Bool (String, EgisonTopExpr))
#5 682.3     |                                                                                 ^^^^^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:175:35: error:
#5 682.3     Ambiguous occurrence ‘optPrompt’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optPrompt’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3     |
#5 682.3 175 |              "" -> getInputLine $ optPrompt opts
#5 682.3     |                                   ^^^^^^^^^
#5 682.3
#5 682.3 Main.hs:176:55: error:
#5 682.3     Ambiguous occurrence ‘optPrompt’
#5 682.3     It could refer to
#5 682.3        either ‘Language.Egison.optPrompt’,
#5 682.3               imported from ‘Language.Egison’ at Main.hs:17:1-32
#5 682.3               (and originally defined in ‘Language.Egison.CmdOptions’)
#5 682.3            or ‘Main.optPrompt’, defined at Main.hs:53:5
#5 682.3     |
#5 682.3 176 |              _  -> getInputLine $ replicate (length $ optPrompt opts) ' '
#5 682.3     |                                                       ^^^^^^^^^
#5 682.3 cabal: Failed to build exe:egison-tutorial from egison-tutorial-4.0.1. See the
#5 682.3 build log above for details.
...
FROM haskell:8
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN cabal update && \
    cabal install \
    egison-4.1.0 \
    egison-tutorial
WORKDIR /docker
ENTRYPOINT ["egison"]

This error causes in not only 4.1.0 but also 4.1.1 and 4.1.2.

Thank you very much for your report!
I fixed the issue.
I've uploaded egison-tutorial 4.1.3 that uses egison 4.1.3 to Hackage.

Thank you. I'll check it.