Skip to content
This repository has been archived by the owner on Nov 11, 2017. It is now read-only.

Deprecation #29

Open
tmspzz opened this issue Sep 21, 2016 · 9 comments
Open

Deprecation #29

tmspzz opened this issue Sep 21, 2016 · 9 comments

Comments

@tmspzz
Copy link
Contributor

tmspzz commented Sep 21, 2016

What is the reason why Tyro was deprecated? Are you looking for a maintainer?

@CodaFi
Copy link
Member

CodaFi commented Sep 21, 2016

No, this library well and truly does not serve the purpose of being a simple and declarative way to extract and manipulate JSON values in Swift. In fact, such libraries need not exist because we don't have the language infrastructure necessary to make such things. Swift is simply not designed to handle the kinds of abstractions needed for this (mostly lenses and modularity), and even if it was this library does not present the right API surface to take advantage of it should it come in the future.

The community has taken every opportunity to shape and reshape their ideal JSON parsing library and none have come up with convincing answers. Nevertheless, they present more canonical ones than we do here. The whole library needs to be rewritten, and in the process I'm confident we won't be able to do better than a dictionary subscript with a checked cast.

@CodaFi
Copy link
Member

CodaFi commented Sep 21, 2016

At the end of the month I will be deleting this repository. Maybe we can try again in the future.

@mpurland
Copy link
Member

I don't think this is a good idea to deprecate and remove this repository with such a short window for users to migrate. I do agree that there a ton of other Swift JSON libraries and there are a ton of other perfectly usable ones.

@tmspzz
Copy link
Contributor Author

tmspzz commented Sep 22, 2016

I'm really sad to hear this news.

I have greatly appreciated the library and I have used it to introduce my entire team to functional programming. Moreover Tyro is a core dependency in our current project.

I understand that the lack of prism/lenses in Swift limits the possibilities of what Tyro can achieve but I believe that the elegance and nuances of the library make it superior to other choices.

For us it's a big effort to migrate to another library because we don't want the interfaces to change (i.e. we want to keep Either coming out of our parsing).

Would it be ok with you if I fork Tyro, port it to Swift 3 and continue using it despited your current take down plans for this repository? Of course I will not take created where credit is not due.

Thanks.

@CodaFi
Copy link
Member

CodaFi commented Sep 22, 2016

I'm glad to hear that. Feel free to do so (the license certainly permits that and much more).

@tmspzz
Copy link
Contributor Author

tmspzz commented Sep 22, 2016

Just to rest my point on the nuances that make Tyro a viable library I'd like to show the code below. Quite compact and expressive toJSON with ToJSONArray.

Image of ToJSON

@netbe
Copy link

netbe commented Apr 25, 2017

Hi @CodaFi,

We decided with @blender to continue to maintain the project over here.

Could you transfer the ownership of the Pod to us, so we can publish the swift 3.0 version, thks?

@CodaFi
Copy link
Member

CodaFi commented Apr 25, 2017

@netbe You and @blender will need to send me your email addresses then. If you prefer not to do it on github, my Twitter DMs are open @Codafi_

@tmspzz
Copy link
Contributor Author

tmspzz commented Apr 25, 2017

For the record: @netbe I got access.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants