Tôi có thể thấy rằng có thể viết các hàm như map/sortBy/findIndex và một số hàm khác liên quan đến List cho mảng thay vì (ít nhất là các chỉ mục theo số nguyên.) Việc này có được thực hiện ở bất kỳ nơi nào trong thư viện chuẩn hay tôi có cần phải cuộn của riêng mình không?Bản đồ Haskell/sortBy/findIndex vv cho các mảng thay vì danh sách
Tôi cần sử dụng một mảng trong chương trình của mình để cập nhật tại chỗ, nhưng cũng có một số vị trí tôi muốn sử dụng một số chức năng danh sách ở trên trên đó. Chuyển đổi qua lại giữa hai giải pháp tốt nhất?
(Các mảng Tôi đã nhìn vào là từ Data.Array.IArray. Tôi cũng rất vui khi được sử dụng bất kỳ thư viện mảng khác mà thực hiện chức năng này.)
"Tôi cần sử dụng mảng trong chương trình của mình để cập nhật tại chỗ" - cập nhật tại chỗ là chi tiết triển khai ... tại sao bạn * thực sự * cần mảng? Không gian hạn chế? Hạn chế thời gian? Đang cố triển khai thuật toán phụ thuộc vào bản cập nhật tại chỗ? –
Bạn nói đúng, đã bị nói xấu. Tôi muốn có thể dễ dàng cập nhật phần tử tại một chỉ mục đã cho n. Tất nhiên, tôi có thể viết một chức năng để làm điều này cho một danh sách, nhưng nó không hiệu quả nói chung và tôi không thể tìm thấy một thực hiện mặc định, do đó, nó không có vẻ "Haskellish". Tôi đã tự hỏi cấu trúc dữ liệu "Haskellish" là chức năng được liệt kê như thế nào, nhưng với tính năng cập nhật theo từng chỉ mục được xây dựng hiệu quả. –
bạn nên kiểm tra [Data.Sequence] (http://hackage.haskell.org/packages/archive/containers/latest/doc/html/Data-Sequence.html). –