<div dir="auto">Huh, good to know. I just looked at how it is done, and we are literally peeking at the characters surrounding tokens and running a bit of Haskell to guess the classification of the previous/next token. Seems a bit brittle but I guess this is not something that is likely to change. I am also surprised it didn't slow down the lexer, but maybe it's lost in the noise.<div dir="auto"><br></div><div dir="auto">Anyway, I don't have a strong opinion on the proposal as this is an extension I never use, but the proposed behavior seems more intuitive for humans, so it seems reasonable to accept it.</div><div dir="auto"><br></div><div dir="auto">Iavor</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 22, 2020, 06:49 Richard Eisenberg <<a href="mailto:rae@richarde.dev" target="_blank" rel="noreferrer">rae@richarde.dev</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><br><blockquote type="cite"><div>On Jul 22, 2020, at 1:43 PM, Joachim Breitner <<a href="mailto:mail@joachim-breitner.de" rel="noreferrer noreferrer" target="_blank">mail@joachim-breitner.de</a>> wrote:</div><br><div><div><blockquote type="cite" style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">Just as a note, I never quite understood how we plan to implement<br>#229---is it supposed to be done through state in the lexer, or do we<br>have a simple lexer that keeps all tokens, including white space, and<br>then write a post-processing function to glue and rejigger tokens?<br></blockquote><br style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline!important">No idea here.</span></div></div></blockquote></div><br><div>#229 is in fact already implemented: <a href="https://gitlab.haskell.org/ghc/ghc/-/merge_requests/1664" rel="noreferrer noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/merge_requests/1664</a> I don't remember the details to explain them, but I don't think it turned out hard to implement.</div><div><br></div><div>Richard</div></div>_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" rel="noreferrer noreferrer" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer noreferrer noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>