Examples of using Functor in Vietnamese and their translations into English
{-}
-
Colloquial
-
Ecclesiastic
-
Computer
có dữ liệu null, giống như functor bản đồ mảng bỏ qua các phần tử null và soạn thảo một cách hiệu quả, sẽ bỏ qua việc gọi một đối tượng hàm null.
A functor là bất kỳ loại xây dựng nào T mà tồn tại một hàm bậc cao hơn,
Ví dụ: một hàm tạo kiểu được gọi là List là một functor nếu nó được trang bị chức năng kiểu( a-> b)-> List a-> List b tuân thủ luật pháp ở trên.
có một ràng buộc lớp Functor, có nghĩa là ta có thể giả sử rằng cả hai tham số của<*> đều là functor. .
tham số lên chúng, vì bất kì thứ gì bên trong một functor sẽ được trao cho hàm mà ta ánh xạ lên nó như là tham số.
Tất cả các tham số kiểu được dồn lại vì Maybe thay thế cho f trong lời định nghĩa của lớp Functor và vì vậy
A đơn nguyên về cơ bản chỉ là một functor T với hai phương pháp bổ sung,
Hình 1 Giá trị 1 được chứa trong một thùng chứa W, functor được gọi với hàm bao bọc đã nói
Nếu một kiểu tuân theo các định luật functor, thì ta biết rằng việc gọi fmap lên một giá trị thuộc kiểu đó sẽ chỉ ánh xạ hàm lên giá trị này, không hơn không kém.
Functor được sử dụng để thao túng giá trị này,
Nếu các thực thể Functor và Monad của một kiểu dữ liệu đều tuân theo các định luật functor và monad, thì hai thứ này sẽ tương đương nhau(
Về bản chất, functor không gì khác hơn là một cấu trúc dữ liệu mà bạn có thể
Nếu bạn muốn áp dụng nhiều phép biến đổi với dữ liệu nào đó trong một functor thì bạn có thể khai báo hàm riêng của mình ở cấp chương trình cao nhất, tạo một hàm lambda, hoặc lý tưởng nhất là, dùng hàm hợp.
Nhưng sẽ thế nào nếu ta có một giá trị functor là Just( 3*) và một giá trị functor Just 5, đồng thời muốn lấy hàm ra khỏi Just( 3*) để ánh xạ nó lên Just 5?
gắn một phép biến đổi với đầu ra của functor mà đầu ra này làm thay đổi giá trị.
Hãy nhớ rằng Functor là một kiểu được tham số hoá với phương thức map, hiện tại thì chúng ta có thể nói rằng Monad chỉ là một Functor mà có một phương thức là flatMap.
lại không thực sự là một functor, vì nó không thỏa mãn các định luật.
Tất cả điều này thực sự có nghĩa là functor là một thực thể xác định hành vi của( fmap), được đưa ra một giá trị và chức năng( morphism), ánh xạ hàm nói lên một giá trị của loại nhất định( thể loại) và tạo ra một functor mới.
Vì vậy, ta không thể viết instance Functor Either where, nhưng lại có thể viết instance Functor( Either a)
Ta đã thấy bằng cách nào mà monad mạnh hơn các đối tượng áp dụng cùng các functor và việc mặc dù mọi monad đều là functor và functor áp dụng, nhưng chúng không nhất thiết có các thực thể Functor và Applicative, nên ta đã kiểm tra các dạng monad tương đương của các hàm mà functor và functor áp dụng dùng đến.