Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Roadmap V2.0

Đang mở
#288 27 bình luận 4 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
15/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
fsharp
Lĩnh vực
developer-experience

Hướng nghiên cứu

Không có tệp, bài kiểm thử hoặc điểm vào cụ thể nào được xác định. Hãy bắt đầu bằng việc xem xét các abstraction F# được liệt kê và tách roadmap thành các issue tập trung với phạm vi và tiêu chí chấp nhận được xác định rõ. Để được coi là hoàn tất, mỗi thay đổi được chọn phải có thiết kế đã được thống nhất và các tiêu chí hoàn thành có thể được xác minh độc lập.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

F#+ v2.0

I think for V2.0 we can start discussing features here, before moving to a formal project.

What comes to my mind at the moment is:

  1. Remove subsumption from Applicatives: Right now seq "eats" all custom types implementing seq

  2. Same for Traversable, same situation: although this might not require a breaking change (todo find out)

  3. Implement IEnumerable for Vectors, now that (1) has to be done.

  4. New ListT monad transformer, possibly new SeqT as well, coded using a similar technique as the one used for Free Monads.

  5. Review computation expressions: autosense will be removed but we have to do something to make it easy for users to understand why a strict monad can't be used with the non-strict CE. Maybe make compilation fail when calling a TryWith?

  6. Add ValueTuple, ValueTask and other latest addition to the framework. We can require a higher framework version

  7. Consider suggestions by @dsyme regarding using the return type for type inference.

Am I missing something?

EDIT

  1. Better task support (maybe an intermediate type like Step with conversions to/from Task and its use in Bind an other methods for task).

  2. Consistent type parameters order, this would need to swap type parameters in Validation<'err,'t> to Validation<'t,'err>.

  3. Revisit sequential vs non-sequential applicatives for types like Result (right now map is sequential) and for Matrix (not sure if the current applicative derives from Monad).

  4. Implement a mechanism for Delay/Run strict CE like task, so errors before the first bind are included into the task workflow.

  5. Prioritize operators instead of static members for SRTP defaults, for instance the default for map should be <!> so user types can be used without F#+

  6. Consistent signature for Invokers, for example Bind.Invoke should flip params.

Ngôn ngữ chính
F#
Star
942
Fork
106
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của fsprojects/FSharpPlus

Tất cả issue của fsprojects/FSharpPlus

Issue tương tự

Thêm issue về DevTools

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.