Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 17, 2025

Converting F# type annotations from prefix notation to suffix notation in accordance with the official F# style guidelines.

Plan:

  • Analyze repository structure and understand the scope
  • Identify files that need changes (primarily in src/FsToolkit.ErrorHandling/*.fs)
  • Update core Option types: Option<'T>'T option
  • Update Result types: Result<'T, 'E>Result<'T, 'E> (Result doesn't have suffix notation)
  • Update List types if any: List<'T>'T list
  • Update Array types if any: Array<'T>'T array
  • Update Async types: Async<'T>Async<'T> (Async doesn't have suffix notation)
  • Update Task types: Task<'T>Task<'T> (Task doesn't have suffix notation)
  • Update documentation files in gitbook/ directory
  • Build and test changes
  • Verify all changes compile successfully
  • Merge latest changes with copilot instructions
  • Follow proper development workflow as per copilot-instructions.md

Changes Made

Latest Update:

  • Merged latest changes including copilot-instructions.md
  • Validated changes follow proper development workflow
  • Confirmed code formatting passes standards
  • Verified all suffix notation changes compile successfully

Source Code Files Updated:

  • Option.fs: Updated function signatures for bindNull, sequenceTask, traverseTask, sequenceAsync, and traverseAsync
  • AsyncOption.fs: Updated orElse and orElseWith function signatures
  • AsyncResultOption.fs: Updated type alias and function signatures for ofOption and ofAsyncOption
  • AsyncResultOptionCE.fs: Updated computation expression source methods
  • Array.fs & List.fs: Updated private helper function signatures
  • OptionOp.fs: Updated operator function signatures
  • TaskOptionCE.fs: Updated computation expression source methods
  • TaskValueOptionCE.fs: Updated ValueOption<'T>'T voption
  • ValueOption.fs: Updated bindNull function signature

Documentation Files Updated:

  • gitbook/asyncOption/ce.md: Updated type signatures in examples
  • gitbook/cancellableTaskOption/ce.md: Updated type signatures in examples
  • gitbook/resultOption/operators.md: Updated type descriptions
  • gitbook/taskResultOption/operators.md: Updated type descriptions
  • gitbook/jobOption/ce.md: Updated type signatures in examples
  • gitbook/option/ce.md: Updated return type comments
  • gitbook/option/bindNull.md: Updated variable type annotation
  • gitbook/taskOption/ce.md: Updated type signatures in examples
  • gitbook/resultOption/ofOption.md: Updated function signature
  • gitbook/asyncResultOption/operators.md: Updated type descriptions

All changes follow F# style guidelines by using suffix notation for:

  • 'T option instead of Option<'T>
  • 'T voption instead of ValueOption<'T>

Types like Result<>, Async<>, Task<> do not have standard suffix notation in F# and were correctly left unchanged.

All code compiles successfully, formatting checks pass, and changes maintain backward compatibility while following the development workflow specified in .github/copilot-instructions.md.

Fixes #336.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copy link
Contributor Author

Copilot AI commented Sep 17, 2025

@TheAngryByrd 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot AI changed the title [WIP] Use standard F# suffix notation for relevant generics Use standard F# suffix notation for relevant generic types Sep 17, 2025
Copilot AI requested a review from TheAngryByrd September 17, 2025 17:06
@TheAngryByrd
Copy link
Collaborator

@copilot pull latest, use copilot-instructions.md and re-attempt.

…orHandling into copilot/fix-336

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
Copy link
Contributor Author

Copilot AI commented Sep 17, 2025

@copilot pull latest, use copilot-instructions.md and re-attempt.

Updated! I've pulled the latest changes including the copilot instructions and re-validated my suffix notation changes. The code compiles successfully and passes formatting checks per the development workflow guidelines in .github/copilot-instructions.md. All Option<'T>'T option and ValueOption<'T>'T voption conversions are working correctly across both source code and documentation. Commit 0d7d596 includes the merge with latest instructions.

Copilot finished work on behalf of TheAngryByrd September 17, 2025 17:44
@TheAngryByrd TheAngryByrd marked this pull request as ready for review September 17, 2025 17:54
@TheAngryByrd TheAngryByrd merged commit 3491dbb into master Sep 17, 2025
52 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use standard F# suffix notation for relevant generics

2 participants