[ghc-steering-committee] please accept "Make Symbol a newtype over String"

Adam Gundry adam at well-typed.com
Thu Jan 19 20:35:41 UTC 2023


Thanks for reviving this proposal, Chris. I support acceptance (and am 
happy to set aside the alternative of `type Symbol = String`, which is 
distinctly less compelling than `type Nat = Natural`).

Adam


On 19/01/2023 16:07, Chris Dornan wrote:
> And I have replied -- anybody with views on how we do this should 
> checkout out the discussions at 
> https://github.com/ghc-proposals/ghc-proposals/pull/562#issuecomment-1397214914 <https://github.com/ghc-proposals/ghc-proposals/pull/562#issuecomment-1397214914>
> 
>> On 2023-01-19, at 15:46, Simon Peyton Jones 
>> <simon.peytonjones at gmail.com <mailto:simon.peytonjones at gmail.com>> wrote:
>>
>> > Oleg has proposed that we do essentially the same trick Richard 
>> proposed to unify Nat and Natural, but with Symbol and String.
>>
>> Well... not quite. I have commented on the proposal
>> https://github.com/ghc-proposals/ghc-proposals/pull/562 
>> <https://github.com/ghc-proposals/ghc-proposals/pull/562>
>>
>> Simon
>>
>> On Thu, 19 Jan 2023 at 15:28, Chris Dornan <chris at chrisdornan.com 
>> <mailto:chris at chrisdornan.com>> wrote:
>>
>>     While we are at it, here is another proposal that I think should
>>     be straightforward.
>>
>>     Oleg has proposed that we do essentially the same trick Richard
>>     proposed to unify Nat and Natural, but with Symbol and String.
>>
>>     Specifically, he is proposing that we replace @data Symbol@ with
>>     @newtype Symbol = MkSymbol String at . I won't try and encapsulate
>>     any further -- the original is concise and clear.
>>
>>       * Oleg's "Make Symbol a newtype over String" proposal:
>>     https://github.com/ghc-proposals/ghc-proposals/blob/symbol-type/proposals/0000-symbol-newtype-string.rst <https://github.com/ghc-proposals/ghc-proposals/blob/symbol-type/proposals/0000-symbol-newtype-string.rst>
>>       * For comparison, Richard's accepted "Unify Nat and Natural"
>>     proposal:
>>     https://github.com/goldfirere/ghc-proposals/blob/natural/proposals/0000-unify-natural.rst <https://github.com/goldfirere/ghc-proposals/blob/natural/proposals/0000-unify-natural.rst>
>>
>>     I suggest we allow the usual two weeks to speak or forever hold
>>     your peace.
>>
>>     Chris

-- 
Adam Gundry, Haskell Consultant
Well-Typed LLP, https://www.well-typed.com/

Registered in England & Wales, OC335890
27 Old Gloucester Street, London WC1N 3AX, England



More information about the ghc-steering-committee mailing list