-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
RFC: audit Core and Base exports #25802
Conversation
Having to qualify the sorting algorithms I think will be mildly annoying, but +1 for everything else. |
I agree with @ararslan. I also don't think we're likely to delete or change the meaning of the sorting algorithms, so I don't much mind exporting them. The other potential approach would be to re-export them from SortingAlgorithms and make the official way to pass even the algorithms defined in Base to be via that package. That would potentially argue for its inclusion in the stdlib. |
You could still do |
bb0de2d
to
9da98c5
Compare
I think we're going to want to consider anything that involves reaching into |
|
Yes, that's true. We should probably consider moving |
IIRC the iterators from Iterators are actually used fairly centrally in Base. Perhaps it's a good idea to have those ones in Base but unexported and export them from an Iterators stdlib package? |
e13fb3c
to
6219c21
Compare
Why It seems to me that an HTTP.jl uses BufferStream to unit-test code that is intended work with a |
I agree that it seems useful in theory, but it doesn't seem to be widely used in practice. Do you have uses for it other than testing? |
Could it be the lack of popularity has to do with lack of awareness / documentation? I never knew it existed until seeing this (although I don't have a use case in mind at the moment) :) If HTTP.jl becomes the defacto for Julia web apps (like I think it will) and |
I suspect it isn't widely used because it is almost undocumented. Aside from testing, the only place I'm using it is in Perhaps the solution is to have a kw arg to |
Sam is right, we've been looking for a buffer stream type for a while but haven't found anything documented. |
Ok, I'm certainly willing to re-export it and document it. Or maybe putting it in its own stdlib package would help improve discoverability? |
* contains(haystack, needle) -> occursin(needle, haystack) * import Compat.LibGit2 to silence some warnings * MethodTable no longer exported from Core to Base, see JuliaLang/julia/pull/25802
* contains(haystack, needle) -> occursin(needle, haystack) * import Compat.LibGit2 to silence some warnings * MethodTable no longer exported from Core to Base, see JuliaLang/julia/pull/25802 (cherry picked from commit 3fb4c3d)
I took a pass through to find Core and Base exports that should be removed. This is based on frequency of use in Base and stdlib, and my own judgment about which things people should generally not use or rely on. Up for debate though.
Un-exported from Core:
I kept
QuoteNode
andLineNumberNode
since those appear in ASTs and can be passed to macros.GlobalRef
could go either way. But I believe it does not appear in surface ASTs, only expanded macros and later. I added a moduleCore.IR
that exports the types used in the IR.Un-exported from Base:
Opinions welcome.