Tôi hiện đang chuyển một số mã từ kiểu Scala truyền thống sang Scalaz.Scalaz Bind [Seq] typeclass
Khá phổ biến thông qua hầu hết mã của tôi để sử dụng đặc điểm Seq trong chữ ký API được tiếp xúc của tôi chứ không phải là loại cụ thể (tức là Danh sách, Vector) trực tiếp. Tuy nhiên, điều này đặt ra một số vấn đề với Scalaz, vì nó không cung cấp khả năng thực hiện một kiểu chữ Bind [Seq].
ví dụ này sẽ làm việc một cách chính xác.
List(1,2,3,4) >>= bindOperation
Nhưng điều này sẽ không
Seq(1,2,3,4) >>= bindOperation
thất bại với lỗi could not find implicit value for parameter F0: scalaz.Bind[Seq]
Tôi giả định này là một quyết định thiết kế có chủ ý trong Scalaz - tuy nhiên không chắc chắn về ý định thực hành/tốt nhất về cách đặt trước .
Tôi có nên thay vì viết mã của tôi trực tiếp vào danh sách/Vector phù hợp thay vì sử dụng giao diện Seq linh hoạt hơn? Hoặc tôi nên chỉ đơn giản là xác định riêng của tôi [Seq] typeclass?
Có một ví dụ đơn lẻ của 'IndexedSeq'. – rightfold