> 
>       * What is your evaluation of the proposal?

+1

>       * Is the problem being addressed significant enough to warrant a change 
> to Swift?

Yes, version pinning is very important to dependency management in production 
environments.

>       * Does this proposal fit well with the feel and direction of Swift?

Yes.

>       * If you have used other languages or libraries with a similar feature, 
> how do you feel that this proposal compares to those?

I have used various dependency management systems and had seen some evolving in 
particular domains (pip’s eventual emergence over the last decade in Python 
land comes to mind. Linux package managers as found in 
Debian/CentOS/Arch/Gentoo, albeit less analogous here). Ruby gems, Cocoapods 
and Carthage are the ones I’m using in production today.

Excluding a few cosmetic differences (.pins extensions, whether to 
automatically pin, pinning commands etc), the proposed mechanisms are actually 
very similar to the ones we know and love in iOS/macOS development today: 
there’s some remote sources where the dependencies reside, most likely version 
controlled repositories with explicit ways to identify a certain state in their 
history. Using a text file to record the state identifiers, the manager can 
ensure shared, reproducible building environment. No surprise here.

As for the difference: I can’t recall a time when I really thought about the 
file extension of Podfile.lock or Carthage.resolved or Gems.WhatEverTheHeck. 
The proposal had dedicated a good potion to explain the choice of .pins, that 
deserves some extra credit IMHO. Explicit pinning commands gives us more 
control. In a team environment, if you are using a pinning feature, it’s 
*really* annoying to have accidentally triggers a change in the .lock/.resolved 
files. This is happens when your team opt-out a latest version of the 
dependency. Automatic pinning, therefore, is not a feature, it’s the lack of 
one.


>       * How much effort did you put into your review? A glance, a quick 
> reading, or an in-depth study?
> 

Read initial draft of the proposal and its discussions. Read the actual 
proposal.
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to