Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Camel case for package's name? #54

Open
favba opened this issue Sep 23, 2018 · 10 comments
Open

Camel case for package's name? #54

favba opened this issue Sep 23, 2018 · 10 comments

Comments

@favba
Copy link

favba commented Sep 23, 2018

I don't how hard/annoying it is to change a package's name. But wouldn't it be more consistent with Julia to name the package "SetField" instead of "Setfield"?
It is not a big deal, but I did get used to writing every module in camel case and it might be what everyone else using Julia expects.

@jw3126
Copy link
Owner

jw3126 commented Sep 24, 2018

Yes, might be more consistent. But I think its not worth the change. I don't particulary like the current name anyway. If the package becomes more matrue, it can be renamed into something completly differnet.

@tkf tkf mentioned this issue Sep 28, 2019
@tkf
Copy link
Collaborator

tkf commented Oct 2, 2019

Do you have a new name in mind?

  • Accessors.jl (although, according to https://en.wikipedia.org/wiki/Mutator_method, accessor only means getter)
  • Mutators.jl (as Wikipedia suggests)
  • Setters.jl (although this is just a half of the story)
  • GetSet.jl (very/too direct name)

@jw3126
Copy link
Owner

jw3126 commented Oct 2, 2019

I had Lens.jl in mind. It would require renaming the type Lens to AbstractLens. What do you think?

@tkf
Copy link
Collaborator

tkf commented Oct 2, 2019

Unfortunately, there is already Lens.jl: https://github.com/zenna/Lens.jl

Maybe we can use Lenses.jl but I feel it a bit confusing because:

  1. people may mistype package name and surprise to get a very different package

  2. lens is not super descriptive if you don't already know it (I personally find lens super cool, but it would be sad to decrease discoverability of this package. For example, I'd assume very few people know that Setfield can be used with StaticArrays because of the naming.)

@tkf
Copy link
Collaborator

tkf commented Oct 2, 2019

@jw3126
Copy link
Owner

jw3126 commented Oct 2, 2019

Ok since Lens is taken, I like SetGet and Accessors the most.

@jw3126
Copy link
Owner

jw3126 commented Oct 9, 2019

So how would we execute the renaming practically? Create a whole new package starting with version v0.1.0. That package can do some breaking changes like change semantics of @set! and remove some cruft like the Experimental submodule.
And we do a final Setfield.jl release that has some depwarns and points to the new package?

@tkf
Copy link
Collaborator

tkf commented Oct 9, 2019

That sounds like a good plan.

Setfield can just re-export everything from the new package while keeping old @set!. I think Setfield can live as-is as long as possible. But maybe you can emit some warning from (e.g.) __init__ if you want to notify people.

@cstjean
Copy link

cstjean commented Oct 10, 2019

Now that packages are identified by uuid, it's a shame that you couldn't just rename the repo and keep the same uuid. But I don't think that would work, right?

@tkf
Copy link
Collaborator

tkf commented Oct 10, 2019

It's not possible ATM but there is a discussion about it: JuliaLang/julia#33047

@tkf tkf mentioned this issue Jul 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants