On 24/02/18 04:05 PM, Maxim Ivanov wrote:
I am replying mostly to https://resea rch.swtch.com/vgo-import article.
...
IMHO right solution vgo should promote is to apply semver trick
described here:
https://github.com/dtolnay/semver-trick/blob/master/README.md . In a
nutshell it suggests that "oauth/v1" imports "oauth/v2" and type
aliases all common types visible in API. Then "moauth" doesn't need a
new semver release at all, it stops being viral and whole dependency
chain becomes much much simpler.
This is one of the two approaches that the Multics folks used when they
ran into the version-skew problem in a heavily versioned collection of
shared libraries.
They wrote "updaters" and "downdaters", that respectively took an old
call and called the new code, or took a new call and mapped it into old
code.
Also used in Solaris and inside Linux glibc, so we've independently
re-invented it at least four times (;-))
Go community is going to to do pretty much whatever Russ tells them
with imminent vgo release, if smever trick indeed solves this viral
problem, it should be encouraged from day 0.
I think the mechanics of doing multiple versions deserves a blog
article, as it's been touched on in the group a couple of times.
--dave
[I also think Russ was just using Mo writing extra libraries as an
illustration]
[see also "Dependency hell is NP-complete" at
https://research.swtch.com/version-sat and
“DLL Hell”, and avoiding an NP-complete problem, at
https://leaflessca.wordpress.com/2017/02/12/dll-hell-and-avoiding-an-np-complete-problem/
]
--
David Collier-Brown, | Always do right. This will gratify
System Programmer and Author | some people and astonish the rest
dav...@spamcop.net | -- Mark Twain
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.