-
Notifications
You must be signed in to change notification settings - Fork 78
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
What project name should we use? #1
Comments
I'd vote for:
... depending on whether you want to use the FSharpX brand or not (both options sound good to me). Once it has documentation, we can move it to |
I'd vote for FSharp.Collections. Would also be good to merge the collections from ExtCore into the same project |
Actually I'm not even sure if we should keep the f# in the name since (like deedle) they are also optimized for C#. |
+1 for merging with the extcore collections and picking whatever is faster |
// cc @jack-pappas |
+1 for looking at ExtCore |
Somewhat off-topic, what do you think about considering the x in FSharpx to mean experimental and treat it as an incubation project? I think we should do the same with @tpetricek async extensions, which were originally a separate project, and are now both in fsharpx and extcore, they should be in its own package FSharp.AsyncExtensions ( I'm refering to the AsyncSeq + extensions to add Async variants to .Net streams, etc., and the several agents). |
That's how I see it. |
That all sounds good to me. You will note that I also tried to start doing this with the CE's. I think those should also be in a separate project, possibly even a project for each. |
Good to see this. I'm not too keen on FSharp.Collections, since it squats on a two-word DLL name that's very important. Recall the guidelines discussed on the "coreeng" working group - choose a name which is unlikely to conflict with other future incubations and canonical libraries. |
Actually I would like to have something like Immutable.Collections, but that's taken by MS Any other ideas? |
I think this should be an interim step until FSharpx.Collections and ExtCore.Collections can be merged into a top-tier library (FBase.Collections?) I would caution against mixing the current FSharpx.Collections and FSharpx.Collections.Experimental. The experimental really are "experimental", and with the exception of 2 or 3 that should be cleaned-up for "FBase.Collections", most should never be in a top-tier library. I also like the idea of naming a separate sub-namespace for any mutable collections (FBase.Collections.Mutable?). F# collections should be assumed immutable unless otherwise specified. +1 for the remainder of FSharpx becoming an experimental library, perhaps in the github.com/fsprojects space. |
For a name that doesn't include "FSharp", maybe consider something around "persistent collections". (are all of the collections here immutable and persistent?) -1 for considering the "x" in FSharpx as "experimental", that was never the intention of the project's name. |
I know, but I think we have to extract everything that's not really core. Atm there is a lot of stuff in it. |
fsharp/FSharp.PersistentCollections? |
That's ok... what I didn't like is the change in the meaning of the project name. |
We've been reviewing the ExtCore and FSharpx space recently. Obviously collections tend to dominate though there is other stuff too. After doing this I'm unconvinced of the "canonicity" of any set of batteries-included functional collections. That is, I'm not yet convinced that there is one canonical view on the right set of battries-included collections that balances the various criteria. There are many variations on existing collections too (LongMap, index-tagged collections, various trees, hash v. compare etc.) So the quesiton is not really utility - it's canonicity. Because of this one I'd say we probably still need a code name in the DLL/project name. Something like this:
Re the FSharp.Collections.* namespace: we could perhaps select 3-5 of them over time, but I'd want to hear more stories about them being useful in production code. The FSharp.* namespace is a precious resource. And also a design review, e.g.
|
I started to add performance tests: |
Hi @forki, thanks for cc'ing me. I've been really busy this week, so this is the first chance I've had to read through the discussion and think it all over. It seems like there are multiple topics being discussed here -- why don't we move this conversation over to |
I'm posting a message to |
Hi, what's |
It's the core-engineering working group in fsharp.org. You can register as a "founder" and then request membership in the working group. Here's the full text of the message I just sent: This is my answer to several threads about collection libraries across GitHub issues, the Google F# group, and Core Engineering mailing list. I haven't studied the Basis.Core or FSharp.Enterprise libraries yet, and my knowledge of ExtCore is not deep. My comments below are mostly about the linear and map-like collections in FSharpx, ExtCore, and PowerPack.
I should have some benchmarks ready in a few days. |
Is this mailing list public? Where can I browse its messages? Thanks. |
No, it's private. |
Is there any particular reason why it's private? Would the managers consider making it public? As described in "Producing Open Source Software", it's a huge mistake to discuss open source software development in private. |
It's not specific to any particular OS project. The fsharp.org working groups stratagize about many things regarding the direction of F#, including what kind of projects should be under github/fsharp (which is "owned" by the F# Foundation). So it's more than just talking about any particular OS project, but the direction of the F# eco-system. It's not a Cabal. http://fsharp.org/foundation.html I'm actually surprised you aren't involved. |
I agree with @mausch that we should keep the discussion on github if it started here, so everybody can follow along. That mailing list is not public, has no archiving like the f# open source google group, and is not easily linkable like a github issue. Actually I find github issues have several advantages over mailing lists for these kind of discussions |
Renaming and add initial line to release notes
I think this naming issue has been settled. |
Hi,
I extracted all the collectections (including FSharpx.Collections.Experimental) from fsharpx and put them into this project.
I think it hsould be as easy as possible to use them and a dependency on FSharpx (the whole project) is often a big no-no.
This project has already > 1700 unit tests and some API documentation (will add FSharp.Formatting build task).
But what name/namespace should it get?
Here are some ideas:
// cc @dsyme @ovatsus @mausch @tpetricek @mausch @jackfoxy @panesofglass
The text was updated successfully, but these errors were encountered: