[HN Gopher] What Is a Property?
___________________________________________________________________
What Is a Property?
Author : alpaylan
Score : 35 points
Date : 2026-04-07 12:16 UTC (4 days ago)
(HTM) web link (alperenkeles.com)
(TXT) w3m dump (alperenkeles.com)
| happytoexplain wrote:
| Maybe I have a bit of a brain problem, but for me, 90% of the
| effort that goes into learning anything in tech is spent on
| identifying which nouns are Nouns, and which are just nouns, and
| the (often mushy) semantics of how people use those nouns in
| varying contexts and sub-contexts. I understand the reasons for
| this complexity - domain-specific terminology is valuable and
| forms naturally from pre-existing words. It's just that, in tech,
| _everything_ is abstract, and _everything_ consists of multiple
| contexts spread across multiple dimensions (vertically, in
| abstraction layers; horizontally, in use cases), so the domain-
| specific terminology explodes like an exponential web. Sometimes
| I 'm talking to somebody and they are using some word, and it
| takes me days to even realize that they are using it in a much
| more specific context than I assumed. It's a little hellish.
| troupo wrote:
| It doesn't help that many texts approach this as a very pseudo-
| mathematics abstract. It's not a function, it's an implication.
| It's there are satisfactions of preconditions, there's a
| thousand different things.
|
| Unfortunately, very few texts and tutorials on property-based
| testing actually tell you how to see what properties are. I
| have it on paper somewhere in some workshop materials. But
| online I think this is one of the very few that describe what
| they are: https://fsharpforfunandprofit.com/posts/property-
| based-testi...
| skybrian wrote:
| Good link. I think that explanation works because it's
| somewhat closer to providing concrete examples of the kinds
| of tests you can write.
| alpaylan wrote:
| I agree. It's especially weird moving across related domains
| because suddenly something you think you know has changed
| meaning. For instance eBPF is "verified", but the verification
| is almost completely unrelated from the usual connotations.
| wizardforhire wrote:
| This is literally the difficulties with learning any
| discipline!
| AlienRobot wrote:
| The worst thing is being corrected about minutiae. It's not a
| "property" it's an attribute/field/member/key/column/variable/g
| etter/function/procedure. Deep down it's all variables. Even
| the constants are variables from the viewpoint of the CPU that
| has to load it in its registers.
|
| Sometimes I see people saying "in LANG, obj.foo is just 'syntax
| sugar' for foo(obj)" and I think that technically it has always
| been "syntax sugar" and there have always been ways to call any
| "method" with any "object" of any "type."
|
| Sometime along the way we decided that "syntax sugar" means "it
| means the same thing as" but _except_ for ( <cast
| OtherType>obj).foo(), which means that the semantics of "syntax
| sugar" don't mean it's simpler than the phrase it was supposed
| to replace.
| analog31 wrote:
| I'm reminded of the story of Richard Feynman and the names of
| birds:
|
| https://philosophy.stackexchange.com/questions/85809/feynman...
___________________________________________________________________
(page generated 2026-04-11 23:00 UTC)