We can know that when we use fmap on it, there won't be anything other than mapping going on behind the scenes and that it will act like a thing that can be mapped over, i.e. a functor. Ta có thể biết rằng khi dùng fmap lên nó, sẽ không có gì ngoài ánh xạ được diễn ra phía sau và nó sẽ đóng vai trò như một thứ có thể được ánh xạ lên, nghĩa là một functor.
Well for one, we can map functions that take these functions as parameters over them, because whatever is inside a functor will be given to the function that we're mapping over it as a parameter. Ồ, một mặt, ta có thể ánh xạ các hàm nhận những hàm này làm 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ố.
If you think of functors as things that output values, you can think of mapping over functors as attaching a transformation to the output of the functor that changes the value. Nếu bạn nghĩ functor là những thứ để trả lại giá trị, thì bạn có thể hình dung việc ánh xạ lên các functor cũng như 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ị.
We start with some initial data (the infinite list of all natural numbers) and then we map over it, filter it and cut it until it suits our needs and then we just sum it up. Bắt đầu bằng một số liệu ban đầu nào đó (danh sách vô hạn chứa tất cả những số tự nhiên), ta ánh xạ lên nó, lọc nó rồi cắt bớt nó đến khi được danh sách như ý, tiếp theo ta chỉ cần lấy tổng chúng.