I’ve spent a good hour googling, and can find various .NET immutable Lists, Sets and Maps. I have not been able to find a persistent immutable Vector though.
Something like Scala’s immutable Vector is what I’m after (and I believe its similar in Clojure). It must be callable from a C# library.
Does such a thing exist in Microsoft-land?
You can check out ClojureCLR implementation.
It is an implementation of Clojure language on top of CLR/DLR execution engine.
I guess you can’t simply copy&paste the code to your project but with little work you can extract specific persistent data structures.
Look inside Clojure\Clojure\Lib for implementation such as PersistentVector.cs
Ido.