On Mon, Mar 18, 2019 at 9:30 PM Ben Gamari <ben@smart-cactus.org> wrote:
Shayne Fletcher via ghc-devs <ghc-devs@haskell.org> writes:

> Consider this two file program:
> ```
> module T where
> main = undefined
>
> module Main where
> import T
> main = putStrLn "Hello world!"
> ```
>
> Both 8.4.3 and 8.6.3 agree:
> ```
> Main.hs:1:1: error:
>     Ambiguous occurrence ‘main’
>     It could refer to either ‘T.main’,
>                              imported from ‘T’ at Main.hs:2:1-8
>                              (and originally defined at Main.hs:2:1-4)
>                           or ‘Main.main’, defined at Main.hs:5:1
> ```
>
> Is this expected behavior? Does it not contradict "If the export list is
> omitted, all values, types and classes defined in the module are exported,
> but not those that are imported" (
> https://www.haskell.org/onlinereport/haskell2010/haskellch5.html)? If the
> latter, is this a bug? What am I missing?
>
The language you cite from the report makes it sound as though this is a
bug. Can you open a ticket?

--
Shayne Fletcher
Language Engineer
c: +1 917 699 7763
e: shayne.fletcher@daml.com
Digital Asset Holdings, LLC
4 World Trade Center                                                        150 Greenwich Street, 47th Floor         
New York, NY 10007, USA
digitalasset.com


This message, and any attachments, is for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at http://www.digitalasset.com/emaildisclaimer.html. If you are not the intended recipient, please delete this message.