Conversation
|
👍 |
|
Could we consider leaving in some form of these checks? I think it's probably right that the error should not say "this feature is from an old version of the compiler" any more, but I think it's plausible that Haskellers will use the Haskell list syntax by accident, for example. |
|
I agree, but can we deal with that in documentation instead? There are lots of basic syntactic features of Haskell which we don't support, but we shouldn't parse them all (tuples, nameless instances, infix function declarations etc.). If we did, we might as well just use |
|
Ok, fair enough. I don't really know how awkward it is inside the compiler, perhaps I ought to try implementing it first ;) Personally, I would like it if the compiler could provide nicer errors for some or all of these things. Although maybe having Haskell-style special cases is the wrong approach. What about, when a parse error occurs, we could try to guess which syntactic construct the user was really after, and then give a small example of a valid version of that construct in the error? eg, "It looks like you wanted to define an instance; here's what they look like:"? |
I think that makes a lot of sense, at least for top-level constructs where things tend to be introduced by an eagerly-matched keyword ( |
|
This is rebased, and good to merge. I'd probably prefer to defer the parser changes to 0.9, since there are a bunch of other parser improvements which can be made in the same general category of "parser X uses |
|
I'll merge then, yes? |
|
Sure thing 👍 |
Fix #1700, remove featureRemoved calls in parser (for 0.8)
|
Ok, thanks. |
This removes the deprecation errors for features broken in
0.7.*.