Tôi là người mới làm quen với Haskell, vì vậy xin lỗi nếu câu trả lời là hiển nhiên, nhưng tôi đang làm việc thông qua Typeclassopedia trong nỗ lực hiểu rõ hơn về các danh mục. Khi làm các bài tập cho phần trên functors, tôi tình cờ gặp vấn đề này:Ví dụ về loại có loại * -> * không thể là trường hợp của Functor
Hãy cho một ví dụ về một loại loại * -> * mà không thể được thực hiện một thể hiện của functor (không sử dụng không xác định).
Suy nghĩ đầu tiên của tôi là xác định một số loại định nghĩa vô hạn đệ quy của fmap, nhưng về cơ bản sẽ không giống như nếu undefined
được sử dụng trong định nghĩa?
Nếu ai đó có thể giải thích câu trả lời, nó sẽ được đánh giá cao.
Cảm ơn!
Nguồn tập thể dục ban đầu ở đây, phần 3: http://www.haskell.org/haskellwiki/Typeclassopedia#Introduction
Điều gì về '(-> int)'? –
@RamonSnir '((->) Int)' thực sự là tốt, bạn cần một cái gì đó như 'dữ liệu K a = K (a -> Int)'. –
@MikhailGlushenkov, gần như chắc chắn ý nghĩa của Ramon, giống như '(+ 1) = \ a -> a + 1'. – huon