Saya terus mendengar banyak tentang functors di C ++. Dapatkah seseorang memberi saya gambaran umum tentang apa itu mereka dan dalam kasus apa mereka akan berguna?
Saya mencari aturan yang melibatkan fungsi templat C ++ sebagai argumen. Ini didukung oleh C ++ seperti yang ditunjukkan oleh contoh di sini: #include <iostream> void add1(int &v) { v+=1; } void add2(int &v) { v+=2; } template <void (*T)(int &)> void doOperation() { int temp=0; T(temp); std::cout << "Result …
Saya telah menemukan istilah 'Functor' beberapa kali saat membaca berbagai artikel tentang pemrograman fungsional, tetapi penulis biasanya menganggap pembaca sudah memahami istilah tersebut. Melihat-lihat di web telah memberikan deskripsi teknis yang berlebihan (lihat artikel Wikipedia ) atau deskripsi yang sangat kabur (lihat bagian tentang Functors di situs web tutorial-ocaml ini …
Sambil menjelaskan kepada seseorang apa tipe kelas X itu, saya berjuang untuk menemukan contoh struktur data yang tepat yaitu X. Jadi, saya meminta contoh untuk: Tipe konstruktor yang bukan merupakan Functor. Tipe konstruktor yang merupakan Functor, tetapi tidak berlaku. Tipe konstruktor yang merupakan Aplikasi, tetapi bukan Monad. Tipe konstruktor yang …
Tutup. Pertanyaan ini tidak memenuhi pedoman Stack Overflow . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga sesuai topik untuk Stack Overflow. Ditutup 4 tahun yang lalu . Perbaiki pertanyaan ini F # berasal dari OCaml, tetapi item utama apa yang hilang atau ditambahkan? Khususnya saya …
map :: (a -> b) -> [a] -> [b] fmap :: Functor f => (a -> b) -> f a -> f b liftM :: Monad m => (a -> b) -> m a -> m b Mengapa kita memiliki tiga fungsi berbeda yang pada dasarnya melakukan hal yang sama?
The Applicativetypeclass mewakili longgar monoidal functors yang melestarikan struktur monoidal Cartesian pada kategori fungsi diketik. Dengan kata lain, diberikan kesaksian isomorfisme kanonik yang (,)membentuk struktur monoid: -- Implementations left to the motivated reader assoc_fwd :: ((a, b), c) -> (a, (b, c)) assoc_bwd :: (a, (b, c)) -> ((a, b), …