+1 on `stock` from me. Though I was all excited to get my class next semester 
jazzed for PL work by explaining that I had slipped a new keyword `bespoke` 
into a language. :)

Richard

> On Sep 27, 2016, at 7:55 PM, Ryan Scott <ryan.gl.sc...@gmail.com> wrote:
> 
> > This wouldn't eat up Stock as a data type or type classes  or stock in any 
> > other syntactic context right?
> 
> A valid concern! Rest assured, you'd still be able to use "stock" as, say, a 
> variable in a function, since GHC's parser has a production just for IDs that 
> have meanings in special contexts. (If you want to win at Haskell trivia 
> night, the current special IDs are "as", "qualified", "hiding", "export", 
> "label", "dynamic", "stdcall", "ccall", "capi", "prim", "javascript", and 
> "group" [1]). In my implementation, I make "stock" and "anyclass" special 
> IDs, so they only become keywords when used after "deriving".
> 
> Ryan S.
> -----
> [1] 
> http://git.haskell.org/ghc.git/blob/f897b7427a4804e3285144f57676574d338be1f5:/compiler/parser/Parser.y#l3054
>  
> <http://git.haskell.org/ghc.git/blob/f897b7427a4804e3285144f57676574d338be1f5:/compiler/parser/Parser.y#l3054>
> [2] 
> 
> On Wed, Sep 28, 2016 at 8:49 AM, Carter Schonwald <carter.schonw...@gmail.com 
> <mailto:carter.schonw...@gmail.com>> wrote:
> This wouldn't eat up Stock as a data type or type classes  or stock in any 
> other syntactic context right?
> 
> While this term in the finance context hasn't come up in my own work this 
> past year, just want to make sure it won't eat a key word piece of name space 
> in value or types land
> 
> Otherwise : standard or stock all sound good to me.
> 
> 
> On Sep 27, 2016 7:14 PM, "Ryan Scott" <ryan.gl.sc...@gmail.com 
> <mailto:ryan.gl.sc...@gmail.com>> wrote:
> Sorry to keep changing my mind on this topic, but I'd like to make one last 
> alternate suggestion, which I think surpasses all the previous ones. Joachim 
> proposed that what was called "bespoke", "standard", or "builtin" in the past 
> be called "stock" instead [1]. I like this idea since:
> 
> 1. "Stock" is a short, instantly recognizable English word, no matter where 
> you live (I think).
> 2. It conveys the right meaning, as "stock" indicates something 
> straightforward or normal (in contrast to GND and DAC, which do something a 
> bit more novel). "Stock" has other meanings, but in this context I believe 
> it's clear what it indicates.
> 3. It doesn't have the disadvantages of the other suggestions. Besides the 
> points already covered, Joachim noted that "bespoke" has connotations of 
> giving instances that would be tailor-fit for a datatype (e.g., "ignore field 
> x in the Eq instance, because it is just a cached value that depends on the 
> other"), when in reality, the strategy is far more mechanical than that!
> 
> Thoughts?
> 
> Ryan S.
> -----
> [1] https://ghc.haskell.org/trac/ghc/ticket/10598?replyto=50#comment:50 
> <https://ghc.haskell.org/trac/ghc/ticket/10598?replyto=50#comment:50>
> 
> On Fri, Aug 26, 2016 at 4:49 AM, Ryan Scott <ryan.gl.sc...@gmail.com 
> <mailto:ryan.gl.sc...@gmail.com>> wrote:
> Hello, everyone! Sorry for not being able to respond to some of the
> recent feedback.
> 
> Well, it seems I'm at a bit of an impasse again. I originally changed
> "builtin" to "bespoke" because enough GHC devs voiced their
> displeasure (ranging from moderate to severe) with "builtin". I hoped
> that choosing "bespoke" would strike a happy medium where we could
> have a term that (1) reasonably describes its intended purpose, (2)
> wouldn't be highly misleading upon an initial glance, and (3) wouldn't
> be too off-putting to use as a reserved keyword.
> 
> Unfortunately, I over-estimated how well "bespoke" meets criterion 3,
> since several people have _also_ voiced their displeasure with it!
> (Again, ranging from moderate to severe.) So we're back to square one,
> it seems. I don't want to push this patch without a general feeling of
> community consensus, but the patch is complete after all, with the
> exception of bikeshedding, so I'd like to try and come up with a
> colo(u)r that folks will be happy with so we can proceed and I can
> work on other things that need this feature.
> 
> So, instead of "builtin" and "bespoke", I propose reconsidering an
> earlier suggestion of Elliot Cameron's: "standard". I had previously
> expressed reservations about "standard" before, since I felt it might
> be miscontrued as meaning "a Haskell standard" (e.g., the Haskell
> Report). But upon further thought, I have actually come to like the
> word "standard". Here's why:
> 
> 1. It's simple. "Standard" is recognizable whether you speak American
> English, British English, or pretty much any other variant that I'm
> aware of.
> 2. It has precedent. A GHC error message already uses the phrase
> "standard derivable classes" to refer to Eq, Ord, Functor, etc. If we
> adopt "standard" as our keyword, then we could endow this phrase with
> a more precise meaning.
> 3. It reflects history. This deriving strategy (that I'm proposing to
> name "standard") was the very first deriving strategy that GHC
> supported (to my knowledge), so it makes sense to refer to this
> strategy as the "standard" one, since all other strategies were added
> later.
> 4. It's not too ambiguous. As opposed to say, "default" (which could
> be confused with -XDefaultSignatures, i.e., the anyclass strategy), I
> think that "standard" has a pretty obvious connotation in the context
> of deriving. There is the possibility of misinterpreting "standard" to
> refer to the Haskell Report, but that wouldn't be the worst
> misconception in the world to make, since several "standard derivable
> classes" are actually in the Haskell Report (whereas neither
> GeneralizedNewtypeDeriving nor DeriveAnyClass are).
> 
> What does everyone think?
> 
> Ryan S.
> 
> 
> _______________________________________________
> ghc-devs mailing list
> ghc-devs@haskell.org <mailto:ghc-devs@haskell.org>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs 
> <http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs>
> 
> 
> _______________________________________________
> ghc-devs mailing list
> ghc-devs@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to