On Jan 22, 2015 8:12 PM, "Johan Tibell" <johan.tibell@gmail.com> wrote:
>
>
>
> On Wed, Jan 21, 2015 at 5:48 PM, Simon Marlow <marlowsd@gmail.com> wrote:
>>
>> On 21/01/2015 16:01, Johan Tibell wrote:
>>>
>>> My thoughts mostly mirror those of Adam and Edward.
>>>
>>> 1) I want something that is backwards compatible.
>>
>>
>> Backwards compatible in what sense?  Extension flags provide backwards compatibility, because you just don't turn on the extension until you want to use it.  That's how all the other extensions work; most of them change syntax in some way or other that breaks existing code.
>
>
> In this case in the sense of avoiding splitting code into a new-Haskell vs old-Haskell. This means that existing records should work well (and ideally also get the improved name resolution when used in call sites that have the pragma enabled) in the new record system. 
>

Sorry to chime in since I am not an expert or ghc contributor, but I can't see how the new record system would break any existing valid Haskell code even if it was added wholesale without a language extension (and without special {|...|} syntax). I can see how expected behavior and error messages would change, but not any existing records or accessors.

Would anyone mind explaining what would break?

Thank you.