tôi tiếp tục tái sử dụng các biểu thức lambda nhưPointfree (hoặc thư viện) chức năng để áp dụng hai chức năng để đơn đầu vào
\x -> (f x, g x)
nơi tôi áp dụng các đầu vào tương tự cho hai chức năng và đóng gói các kết quả trong một cặp. Tôi có thể viết một chức năng để chụp ảnh này
combine :: (a -> b) -> (a -> c) -> a -> (b,c)
combine f g x = (f x, g x)
Bây giờ biểu thức lambda ở trên chỉ là combine f g
. Tôi có hai câu hỏi.
- Tôi muốn biết liệu có chức năng thư viện chuẩn thực hiện điều này mà tôi không thể tìm thấy.
- Ngoài sự tò mò, tôi muốn viết lại chức năng này theo kiểu không có điểm, nhưng tôi đang gặp nhiều rắc rối với nó.
Cảm ơn cho câu trả lời ngắn gọn, và nhờ chỉ cho tôi đến pointfree. – bshourd