On 3/10/19 3:07 AM, Rhodri James wrote:
On 02/10/2019 09:14, DL Neil via Python-list wrote:
That said, it is one of the ways that a path can be shown to
transition from some 'pure' state to become 'concrete'.
However, A.N.Other has suggested that I might be mis-applying the word
"concrete", so maybe not. On which topic, I went looking for a decent
technical definition of the word, but instead of coming-out smiling,
I've been left somewhat stony-faced (hah, hah!).
A definition/description would be useful. Any pointers?
I think we're looking at a philosophical split, so I'd look in that
direction rather than for technical terminology.
My rough and ready definition *in this instance* relies on observing
that we are supposed to contrast "pure" and "concrete" and going from
there.
The overriding thing for me is that paths are names. Just names. They
have a particular syntax, but that's all. This is obviously true for
pure paths, which are clearly abstractions.
PurePath("/home/rhodri/foo.txt") cannot refer to a real file because it
has no mechanisms for relating to reality. It can only be a name, and
all the PurePath class gives us is convenient mechanisms for
manipulating that name within its syntactic rules.
Concrete paths are not pure paths. Literally, in logic terms. Pure
paths cannot refer to real file, concrete paths can refer to real files.
They don't necessarily do so otherwise we have a massive excluded
middle. Path("/home/rhodri/foo.txt") may or may not actually exist on
any computer. It may refer to a file, and by the end of this sentence
it may refer to a different file to what it was at the start. The only
sensible interpretation I can see is that it is still a name, just one
that may transiently be related to a real object.
Concrete may not be the best term for this, but I can't think of a
better one.
Nor I, but had assumed (having seen it before) that it was a
generally-accepted term in OOP that I have yet to learn. Was slightly
surprised not to find it in any of the/my usual tech.dictionaries.
Obviously, my assumptions/expectations of its meaning were inaccurate or
incomplete, but I appreciate your efforts to straighten-out it (and me)!
--
Regards =dn
--
https://mail.python.org/mailman/listinfo/python-list