[ghc-steering-committee] Please review: Mutable constructor fields, Shepherd: Ryan Newton

Ryan Newton rrnewton at gmail.com
Sun Feb 11 05:43:35 UTC 2018


Reboot!  This has long sat idle, but I propose to now formally start the
committee discussion period: mandatory 4 weeks, closing at end of day *March
10th*, or earlier if consensus occurs.  Let's use this email thread for
that discussion.  In this mail I summarize public discussion and *argue for
"accept"*.

In short, the proposal adds a way to have multiple mutable fields within a
data-constructor, without the indirection of using IORef.  Second to "linear
types" <https://github.com/ghc-proposals/ghc-proposals/pull/91>, this
proposal <https://github.com/ghc-proposals/ghc-proposals/pull/8> generated
the most total comments during public discussion (107).  This level of
discussion was good -- given that accepted GHC proposals so far are mostly
syntactic (or API tweaks), this would be the first with major compiler
backend & runtime consequences.

Ed Kmett and Ryan Yates have demonstrated the applicability of this concept
to data-structure implementation.  (Indeed, I think there's a good reason
that almost all languages mutation with mutation are implemented so as to
allow a single heap object to have multiple mutable fields within it.)
During the public discussion, questions were raised about interactions with
other features and implementation strategy -- in particularly changes to
core.  But I believe that all major concerns were eventually answered.

  -Ryan

P.S. Iavor, Trevor, and Ryan Yates were all working on implementation of
this feature at various points.  Not sure what the current status of
implementation efforts are.


On Fri, Jul 14, 2017 at 8:17 AM, Joachim Breitner <mail at joachim-breitner.de>
wrote:

> Dear Committee,
>
> this is your secretary speaking:
>
> https://github.com/ghc-proposals/ghc-proposals/pull/8
> was brought before the committee, by our own Simon Marlow.
>
> I propose Ryan Newton as the Shepherd, because he asked for it :-)
>
> Ryan, please reach consensus as described in
> https://github.com/ghc-proposals/ghc-proposals#committee-process
>
> I suggest you make a recommendation about the decision, maybe point out
> debatable points, and assume that anyone who stays quiet agrees with
> you.
>
>
> Greetings,
> Joachim
>
>
> --
> Joachim Breitner
>   mail at joachim-breitner.de
>   http://www.joachim-breitner.de/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20180211/76a94076/attachment.html>


More information about the ghc-steering-committee mailing list