> On Jun 13, 2016, at 10:16 AM, Xiaodi Wu <[email protected]> wrote: > > On Mon, Jun 13, 2016 at 9:54 AM, Charlie Monroe <[email protected]> > wrote: > >> On Jun 13, 2016, at 4:46 PM, Xiaodi Wu <[email protected]> wrote: >> >> On Mon, Jun 13, 2016 at 9:28 AM, Sean Heber <[email protected]> wrote: >> I’m just (probably obtusely) suggesting that there are different levels and >> styles of expression and that the existence of one does not render other >> styles invalid. >> >> In relation to the “where” debate, the fact that you can express everything >> with “guard” or “if” as you can with “where” is not, in my mind, a strong >> argument against “where” because it ignores other more intangible aspects >> that are going to be a lot harder to quantify since they depend on the >> context of the problem, the surrounding code, the mindset of the writer, and >> the assumed mindset of the reader. >> >> I don’t dispute that we *could* live without “where” - that is not the >> point. We could also live without classes or generics or any of a variety of >> other features - but why should we when we don’t have to? >> >> I'm not sure where this comes in. I was clarifying what I mean when I call a >> language construct 'expressive.' As I understand the term, `where` is not >> expressive, whereas classes and generics are expressive. > > Perhaps this is due to English not being my first language, but I go by the > dictionary definition of expressive: > > expressive (adjective) - effectively conveying thought or feeling. > > And I believe that for-in-where is expressing the condition more effectively > (and efficiently) than adding if/guard-continue into the actual code block. > > That's fine for English, but I just mean that in a language design context > I've always understood the word to encompass the *breadth* of thoughts that > can be expressed. In that sense, `where` might express one thing > economically, but it cannot express very many things at all, no matter how > much text you write in a `where` clause.
Yes, true, there are certainly two meanings in play here - the technical domain specific concept, and the more casual definition. I think the concern of myself (and some others) is that the technical definition, perhaps somewhat ironically, is not expressive enough to capture all of the facets of expression that matter to all of us! I think this particular discussion is taking place at the intersection of technology and liberal arts. l8r Sean _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
