Skip to content

Commit 33b1a65

Browse files
xperiandriclaude
andcommitted
docs: list EquatableArray in the changelog, the README and the docs
Adds an Unreleased section to the changelog, the type to the collection lists, and its folders and libraries to the agent instructions. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 3efb487 commit 33b1a65

5 files changed

Lines changed: 24 additions & 0 deletions

File tree

‎.github/copilot-instructions.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
│ │ ├── FlatList.fs / FlatList.fsi
2424
│ │ ├── FlatListBuilder.fs
2525
│ │ └── FlatListCE.fs
26+
│ ├── EquatableArray/ – ImmutableArray with value semantics, JSON converter, patterns
27+
│ │ ├── EquatableArray.fs / EquatableArray.fsi
28+
│ │ └── EquatableArrayPatterns.fs / EquatableArrayPatterns.fsi
2629
│ ├── IndexedList/ – ImmutableList API surface and builders
2730
│ │ ├── IIndexedList.fs / IIndexedList.fsi
2831
│ │ ├── IndexedList.fs / IndexedList.fsi
@@ -52,9 +55,11 @@
5255
│ ├── ISortedSet.fs / ISortedSet.fsi
5356
│ ├── SortedSet.fs / SortedSet.fsi
5457
│ └── SortedSetCE.fs
58+
├── tests/FSharp.Collections.Immutable.CSharp.Tests/ – MSTest project in C#: collection expressions, ranges, operators
5559
└── tests/FSharp.Collections.Immutable.Tests/ – MSTest test project
5660
├── HelperTests.fs
5761
├── TestCategories.fs – centralized custom test category attributes
62+
├── EquatableArray/ – focused test files per operation group
5863
├── FlatList/ – focused test files per operation group
5964
├── IndexedList/ – focused test files per operation group
6065
├── HashMap/ – focused test files per operation group
@@ -69,8 +74,10 @@
6974

7075
* [`System.Collections.Immutable`](https://www.nuget.org/packages/System.Collections.Immutable/) – immutable collections foundation
7176
* [`FSharp.Core`](https://www.nuget.org/packages/FSharp.Core/) – F# language core library
77+
* [`System.Text.Json`](https://learn.microsoft.com/dotnet/standard/serialization/system-text-json/overview) – the JSON converter of `EquatableArray` (shared framework, no package)
7278
* [`MSTest`](https://github.com/microsoft/testfx) – test framework
7379
* [`Unquote`](https://github.com/SwensenSoftware/unquote) – expressive assertions for complex checks
80+
* [`FSharp.SystemTextJson`](https://github.com/Tarmil/FSharp.SystemTextJson) – JSON tests with F# records and unions
7481
* [`FAKE`](https://fake.build/) – build and release scripting
7582
* [`Argu`](https://github.com/fsprojects/Argu) – command-line parsing for build tooling
7683

‎CHANGELOG.md‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
### Added
11+
* `EquatableArray<'T>`: a struct over one `ImmutableArray<'T>` with value semantics, for fields of records and unions,
12+
dictionary and set keys and persisted documents (ADR 0002)
13+
* Equality and the hash code use all elements; every caller gets them, C# `==` and `!=` included
14+
* Comparison puts shorter arrays first, then orders by the first different element, in the order of F# comparison
15+
* The default value is the empty array
16+
* Conversion to and from `ImmutableArray<'T>` does not copy; C# collection expressions and ranges work
17+
* A System.Text.Json converter that needs no registration
18+
* The `EquatableArray` module: `empty`, `ofArray`, `ofImmutableArray`, `ofList`, `ofSeq`, `singleton`,
19+
`unsafeOfArray`, `isEmpty`, `length`, `map`, `toImmutableArray`
20+
* The struct partial active patterns `Arr0`, `Arr1`, `Arr2`, `Arr3` and `ArrN`
21+
822
## [1.0.0] - 2020-02-23
923

1024
First release

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Please also join the [F# Open Source Group](http://fsharp.github.com)
1111
## Features
1212

1313
* `FlatList` (`ImmutableArray`)
14+
* `EquatableArray<'T>` (an `ImmutableArray` with value equality, comparison and an empty default value)
1415
* `ImmutableList`
1516
* `Stack` (`ImmutableStack`)
1617
* `Queue` (`ImmutableQueue`)

‎docsSrc/Explanations/Background.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ While F# has its own built-in immutable collections, System.Collections.Immutabl
2525
## Available Collections
2626

2727
- `FlatList` (`ImmutableArray`)
28+
- `EquatableArray<'T>` (an `ImmutableArray` with value equality, comparison and an empty default value)
2829
- `ImmutableList`
2930
- `Stack` (`ImmutableStack`)
3031
- `Queue` (`ImmutableQueue`)

‎docsSrc/index.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ F# bindings for [System.Collections.Immutable](https://learn.microsoft.com/en-us
77
## Key Features
88

99
- `FlatList` (`ImmutableArray`)
10+
- `EquatableArray<'T>` (an `ImmutableArray` with value equality, comparison and an empty default value)
1011
- `ImmutableList`
1112
- `Stack` (`ImmutableStack`)
1213
- `Queue` (`ImmutableQueue`)

0 commit comments

Comments
 (0)