On Fri, Feb 7, 2020 at 11:01 AM John Cowan <xxxxxx@ccil.org> wrote:
Looks like Common Lisp's pathnames.

Yes, I'm sure you're right.
In practice, though, they are *too* general, and you need an implementation-dependent parser and unparser which understands only the native format.  Python, and my variant of it, deal only with Posix and Windows, which is all that are needed in practice nowadays, and provides portable parser/unparser pairs for each.

Fair enough.
I never used TOPS-20, but I did use versioned files on VMS.  I normally set the versioning limit to keep only the current and the one before that.  IMO, version control systems and journaling file systems eliminate the need for versioning in the file system.

I see your point, although I still use Emacs's simulation of them for quick snapshots, especially trees that are not under version control.  Except on Time Machine on MacOS, I don't have experience with journaling filesystems that provide a way to get at old versions.  On MacOS, that's cumbersome, and snapshots are done only hourly, so I still end up using versions.  What I'd really like would be a filesystem on top of something like Git that automatically made a new version for every update.