<div dir="ltr">After looking at the renderings in <a href="https://github.com/ghc-proposals/ghc-proposals/pull/356#issuecomment-690221468">https://github.com/ghc-proposals/ghc-proposals/pull/356#issuecomment-690221468</a> , I do prefer `^` over `%`. Not very strongly either.<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 14, 2020 at 6:23 PM Joachim Breitner <<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">How annoying, how can I now say “I’m trusting the shepherd’s<br>
judgement” … ;-)<br>
<br>
I guess in that case I’ll say I’m trusting Simon PJ, and will go with<br>
his vote, as I have no strong opinion of my own.<br>
<br>
Cheers,<br>
Joachim<br>
<br>
<br>
Am Sonntag, den 13.09.2020, 22:12 +0000 schrieb Richard Eisenberg:<br>
> Hi committee,<br>
> <br>
> Mathieu Boespflug has proposed a new syntax for linear arrows: <a href="https://github.com/ghc-proposals/ghc-proposals/pull/356" rel="noreferrer" target="_blank">https://github.com/ghc-proposals/ghc-proposals/pull/356</a><br>
> <br>
> Currently (from the original linear types proposal), we have #-> to denote a linear function, and # m -> to denote an arbitrary function whose argument has multiplicity m. This proposal suggests three changes:<br>
> <br>
> 1. Drop #-> entirely.<br>
> 2. Use ^ instead of # in the second form, but require that it be a *prefix* usage of ^ (that is, the character after the ^ must not be  whitespace).<br>
> 3. Introduce a new lexeme ^1 that is used to denote linear functions.<br>
> Alternative: use % in place of ^; % is observed to be more visually apparent in some fonts than ^.<br>
> <br>
> In time, the hope is that rule (3) will no longer be needed, if we gain overloaded numbers at the type level (when 1 :: Multiplicity will type-check without a special rule).<br>
> <br>
> Motivations for this change come from the experience within Tweag of using linear types. The change away from # also is to avoid a conflict with overloaded labels, once those are allowed in types.<br>
> <br>
> The hope is that we can make a decision about this in time for release with GHC 9.0. This proposal is already implemented: <a href="https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4020" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/merge_requests/4020</a><br>
> <br>
> In conflict with our usual protocol, I will not make a recommendation on this proposal, as I am conflicted with the proposer. However, I do hope that we can come to a conclusion on this quickly, to avoid making a backward-incompatible change after a release.<br>
> <br>
> We have four options:<br>
> A. Keep the syntax as it is.<br>
> B. Choose to go with ^<br>
> C. Choose to go with %<br>
> D. Choose to go with some other symbol. I don't think there is any particular preference for any one symbol over another.<br>
> <br>
> Richard<br>
> _______________________________________________<br>
> ghc-steering-committee mailing list<br>
> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
-- <br>
Joachim Breitner<br>
  <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><br>
  <a href="http://www.joachim-breitner.de/" rel="noreferrer" target="_blank">http://www.joachim-breitner.de/</a><br>
<br>
<br>
_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>