Then icon indicating copy to clipboard operation
Then copied to clipboard

Is Then dead? (abandon-ware?)

Open capnslipp opened this issue 4 years ago • 2 comments

Has Then been abandoned?  It doesn't appear @devxoul has responded to any issues or PRs, or made any code changes since Sept 2019.  And basically every comment he made before than was highly resistant to making any changes or accommodations for the devs who rely on Then.

Is it time for someone else to take over the project?  Is there someone else who is already maintaining an updated fork who's willing to take up the mantle of maintaining the community, and who welcomes us all switching over to his/her fork?

Side-note: I grew tired of some of the issues with Then a while back and wrote my own stab from scratch at solving this problem— I chose to go with a free function approach that's closer to the with keyword in Python, JavaScript, Visual Basic, Object Pascal, Delphi and using in C#, and which seems to be more idiomatic Swift.  I also care about making sure my libraries work in every build toolchain and environment (SPM, CocoaPods, Carthage, Xcode project embedding, etc.); can solve any reasonable user-requested problem (@discardableResult, arbitrary return value, @inlinable, etc.); and can be used freely by everyone (completely copyright-free public domain, no restrictions or attribution needed).  My recently-uploaded library is called With.

capnslipp avatar Mar 08 '20 16:03 capnslipp

Hi, thanks for raising an issue. I exactly know how it feels like when the library you're using seems to be abandoned. In short, this project is not abandoned. I literally don't have enough time to catch up all the issues. I have a full-time job as a lead engineer and manage many other open source projects as well. But it doesn't mean the project is abandoned.

Basically I think this project is quite complete. I try to keep this small library as simple as I can. A simple library can be very easily messed up as it adds more and more functionalities. I want this library to focus on the very specific needs.

Here are some thoughts on the issues you mentioned:

  1. Then didn't choose to go with a free function because it doesn't seem to be very convenient. Here are some reasons:
    • You have to import Then every time you use the global function. Now there is @_exported import to make it simple but there wasn't such a grammar when I first created Then.
    • I wanted programmers to type less parenthesis. UIView().then { ... } is definitely more easy to type and easy to read than then(UIView()) { ... }.
  2. I chose to support only SPM and CocoaPods and not to support Carthage officially. This was very personal reason; I didn't want to checkout Xcode project files to Git repository. I have lots of repositories to manage and Xcode project files require more time to handle. Thankfully SPM is now integrated to Xcode.
  3. In order to keep this library simple as possible, I have to very carefully add a new functionality.
    • @discardableResult: You may use do() instead if you want to not use the result.
    • Arbitrary return values are not intended interface. This is more like map() in functional programming.
    • @inlinable would be really great. I will add that. Thanks for the suggestion.
  4. And for the license, I don't think the current license has any problem.

I know these opinions looked like very resistant to changes. If you're tired of it, it's very welcomed to create a new library. It will be my honor when I see a new library that is inspired by Then. But at this time, I believe the simple library can do more.

Thanks again for the issue 👏

devxoul avatar Jun 13 '20 18:06 devxoul

https://github.com/Geri-Borbas/iOS.Package.Withable

This library, also looks good.

HereOrCode avatar May 31 '22 05:05 HereOrCode