On Sun, Aug 25, 2024, at 18:21, Rowan Tommins [IMSoP] wrote:
> On 25/08/2024 16:54, Rob Landers wrote:
> > Hi Rowan, you went through a lot of trouble to write this out, and the 
> > reasoning makes sense to me. However, all the nonsensical things you 
> > say shouldn’t be allowed are already perfectly allowed today, you just 
> > have to type a bunch of boilerplate reflection code. There is no new 
> > behavior here, just new syntax. 
> 
> 
> Firstly, your response to John was essentially "please give more 
> details" [https://externals.io/message/125183#125214], and your response 
> to me is "thanks for the details, but I'm not going to engage with 
> them". That's a bit frustrating.

Oh, my apologies! That wasn’t my intention! With John and yourself, I do agree 
with you. I’m just trying to understand the logic in limiting it. As in, “I 
intuitively feel the same way but I don’t know why but maybe you do.” Intuition 
sucks sometimes. 

> 
> Secondly, I don't think "it's possible with half a dozen lines of 
> reflection, so it's fine for it to be a first-class feature of the 
> language syntax" is a strong argument. The Reflection API is a bit like 
> the Advanced Settings panel in a piece of software, it comes with a big 
> "Proceed with Caution" warning. You only move something from that 
> Advanced Settings panel to the main UI when it's going to be commonly 
> used, and generally safe to use. I don't think allowing arbitrary 
> operations on a value that's declared as the default of some other 
> function passes that test.
> 
> Regards,
> 
> -- 
> Rowan Tommins
> [IMSoP]
> 

That makes sense, but is it uncommon because it is hard and slow, or because it 
is genuinely not a common need?

— Rob

Reply via email to