Comments (12)
Good question. I have not thought about it. @terrajobst, @richlander, @joshfree, any opinions?
from corefxlab.
from corefxlab.
@ianhays is going to be open sourcing Microsoft.Expermiental.Collections to /dotnet/corefxlab very soon.
from corefxlab.
Heya @codekaizen, I wrote this last summer! Now that I'm back at Microsoft I'm planning on moving this along closer to the core repo but there's been some discussion as to where it should go. Our options are to put it either:
- In the dotnet/corefxlab repo.
- In a dev/MultiDictionary branch off of the main dotnet/corefx repo.
The home for the MultiDictionary ultimately depends on how out of the park it is; corefxlab was designed for ideas that were may not make it to the main repo and that are in the more distant future. @terrajobst and I discussed this and were leaning towards just branching it off of master as an addition to System.Collections.Generic, but that decision isn't set yet.
Regardless of where it will be, you can expect to see it somewhere soon :)
from corefxlab.
@ianhays - glad to see you back! I'd agree with the sentiment that MultiValueDictionary doesn't seem too far astride of core collection classes, and having it in core would be unremarkable. A branch seems reasonable, but then my question becomes - "what becomes of the branch"? Even if it is merged to master at some point, the current availability of it as a separate package, which has good value for users not running Core, will be lost.
from corefxlab.
@codekaizen Sorry for the delay; it's been real busy around here! I decided to put it into CoreFXLab for now and just pushed a PR #370 where we can continue iterating on it until it's ready for CoreFX. For now it is in it's own assembly: System.Collections.Generic.MultiValueDictionary. I tested it with some console apps running on the core framework and it works as expected.
Even if it is merged to master at some point, the current availability of it as a separate package, which has good value for users not running Core, will be lost.
It's been months but I'm honestly still not sure that I have a good answer to this. In it's current home in CoreFXLab it can easily be built as a desktop NuGet package since it is standalone, but once it is merged into CoreFX it will be jumbled together with the other Collections classes. We could always keep a desktop copy of the nupkg that only contains the MVD and push package updates that way. Although that would be the simplest solution it would require effort to maintain two copies of the same MVD code and subsequently be prone to error or stale versions. Another concern is if the CoreFX MVD evolves to depend on something that doesn't exist in the Desktop framework - what do we do then? How do we prioritize changes and updates to the MultiValueDictionary between Desktop and Core if they diverge and what does that look like?
To answer the original question: the members of CoreFXLab are primarily focused on eventual inclusion into .NET Core so for now I'm going to keep with that focus and consider the "graduation" to be merging it into CoreFX as a part of System.Collections.Generic.
from corefxlab.
We could always keep a desktop copy of the nupkg that only contains the MVD and push package updates that way
@ianhays Doesn't the same apply to System.Collections.Immutable? That one is in CoreFx and the nupkg works on Desktop.
from corefxlab.
Yes, but it is slightly different since Immutable is a standalone library whereas MultiValueDictionary would be built in to System.Collections.Generic. Of course I suppose I could just add a System.Collections.Generic.MultiValueDictionary.Desktop.csproj that only pulls in the MVD files from Open to build the Desktop version and nupkg that only contains the MVD.
from corefxlab.
Hi, are there any plans to include the MultiValueDictionary in the BCL or as a (non-prerelease) nuget?
from corefxlab.
There are no plans to do that. It's archived. See #2245 (comment).
@ahsonkhan @KrzysztofCwalina This issue probably should be closed.
from corefxlab.
Oh well, thanks.
from corefxlab.
Closing this old issue now that MVD has been archived.
https://github.com/dotnet/corefxlab/blob/master/README.md#archived-projects
from corefxlab.
Related Issues (20)
- unable to get header row HOT 5
- Adding `Microsoft.Data.Analysis` 0.2 to .NET Framework 4.7.1 project adds lots of packages
- Update Spark after 0.3.0 is released HOT 2
- support for skipRows or skipRowPattern
- Support for crosstabs
- "Long to wide" and "wide to long" helper functions
- Passing in DataTypes to DataFrame.LoadCsv loses column name information
- DataFrame.LoadCsv doesn't handle `null` values when it attempts to guess the column types
- Writing dataframe to txt doesn't work properly HOT 7
- Column name indexing removed in .4? HOT 15
- DataFrame status HOT 1
- Nuget Package Query (System.IO.FileSystem.Watcher.Polling)
- Question: What is the status of System.Reflection.TypeLoader? HOT 1
- Question about supported platforms in polling watcher HOT 6
- Suggestion - Add constructor for MultiDictionary that takes IEnumerable of KeyValuePair
- A tsv file wouldn't load properly HOT 4
- [DataFrame] Add a LoadCsv overload or other method that takes CSV content directly HOT 1
- dataframe row escape characters HOT 2
- CoreFxLab is now archived! See dotnet/machinelearning and dotnet/runtimelab instead!
- OrderedDictionary indexer conflict HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from corefxlab.