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
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
Saya baru saja memulai proyek Haskell baru dan ingin menyiapkan alur kerja pengujian yang baik dari awal. Sepertinya Haskell memiliki banyak alat pengujian yang sangat baik dan unik serta banyak cara berbeda untuk mengintegrasikannya. Saya telah memeriksa: HUnit Pemeriksaan
Di F #, penggunaan operator pipa-maju |>,, cukup umum. Namun, di Haskell saya hanya pernah melihat komposisi fungsi (.),, sedang digunakan. Saya memahami bahwa keduanya terkait , tetapi adakah alasan bahasa yang membuat pipa maju tidak digunakan di Haskell atau ada hal
Saya tidak yakin apa yang menyebabkan masalah ini, tetapi dalam sebuah proyek, saya sedang membangun, kompilator membutuhkan waktu berjam-jam hanya untuk mengkompilasi modul. Ukuran total basis kode saya adalah 352KB, tetapi tidak ada modul yang berukuran lebih dari 10KB. Saya menggunakan port...
Bagaimana cara mengkodekan potongan kode C ini dalam file .chs sehingga c2hs dapat mengubahnya menjadi sesuatu yang relatif bagus? typedef enum { MONOME_BUTTON_UP = 0x00, MONOME_BUTTON_DOWN = 0x01, MONOME_ENCODER_DELTA = 0x02, MONOME_ENCODER_KEY_UP = 0x03, MONOME_ENCODER_KEY_DOWN = 0x04,...
Dalam bahasa fungsional murni seperti Haskell, apakah ada algoritma untuk mendapatkan kebalikan dari suatu fungsi, (sunting) jika itu bersifat bijektiva? Dan adakah cara khusus untuk memprogram fungsi
Saya mencoba dan gagal mendapatkan traversefungsi dari Data.Traversable. Saya tidak dapat memahami maksudnya. Karena saya berasal dari latar belakang imperatif, dapatkah seseorang menjelaskannya kepada saya dalam istilah loop imperatif? Pseudo-code akan sangat dihargai. Terima kasih....
Saat mencoba men-debug masalah dalam program saya (2 lingkaran dengan radius yang sama ditarik ke ukuran yang berbeda menggunakan Gloss *), saya menemukan situasi yang aneh. Di file saya yang menangani objek, saya memiliki definisi berikut untuk a Player: type Coord = (Float,Float) data Obj =...
Di mana pun saya mencoba menggunakan map, fmaptelah berhasil juga. Mengapa pencipta Haskell merasa membutuhkan suatu mapfungsi? Tidak bisakah itu hanya apa yang saat ini dikenal sebagai fmapdan fmapdapat dihapus dari bahasa?
Apa indeks monad dan motivasi untuk monad ini? Saya telah membaca bahwa itu membantu untuk melacak efek samping. Tetapi tipe tanda tangan dan dokumentasi tidak membawa saya ke mana pun. Apa yang akan menjadi contoh bagaimana itu dapat membantu untuk melacak efek samping (atau contoh valid...
Bagaimana saya bisa mengakses daftar menurut indeks di Haskell, analog dengan kode C ini? int a[] = { 34, 45, 56 }; return
Saya baru mengenal pemrograman fungsional dan baru-baru ini belajar di Learn You a Haskell , tetapi ketika saya melewati bab ini , saya terjebak dengan program di bawah ini: import Control.Monad.Writer logNumber :: Int -> Writer [String] Int logNumber x = Writer (x, ["Got number: " ++...
The absurdfungsi dalam Data.Voidmemiliki tanda tangan berikut, di mana Voidadalah jenis logis berpenghuni diekspor oleh paket yang: -- | Since 'Void' values logically don't exist, this witnesses the logical -- reasoning tool of \"ex falso quodlibet\". absurd :: Void -> a Saya benar-benar...
Membaca makalah klasik ini , saya terjebak pada paramorphisms. Sayangnya bagiannya cukup tipis, dan halaman Wikipedia tidak mengatakan apa-apa. Terjemahan Haskell saya adalah: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base h (x:xs) = f x xs...
Apakah mungkin untuk menulis modul di Haskell, yang mengekspor ulang modul selain mengekspor semua yang terlihat di dalamnya? Mari pertimbangkan modul berikut: module Test where import A f x = x Modul ini mengekspor semua yang ditentukan di dalamnya, jadi modul ini mengekspor ftetapi tidak...
Melihat melalui Haskell Prelude, saya melihat sebuah fungsi const : const x _ = x Sepertinya saya tidak dapat menemukan sesuatu yang relevan tentang fungsi ini. Apa gunanya? Adakah yang bisa memberi contoh di mana fungsi ini dapat digunakan?
Apa saja kemungkinan, jika ada, untuk mendapatkan dokumen offline untuk pustaka inti Haskell (dan mungkin lebih)? Kadang-kadang saya membawa laptop saya ke kedai kopi yang tidak ada wifi, dan alangkah baiknya memiliki sesuatu seperti Hoogle tetapi untuk penggunaan offline.
Saya baru-baru ini memiliki dua kali kode refactored untuk mengubah urutan parameter karena ada terlalu banyak kode di mana peretasan suka flipatau \x -> foo bar x 42sedang terjadi. Saat mendesain fungsi tanda tangan, prinsip apa yang akan membantu saya memanfaatkan kari sebaik-baiknya?...
Saya telah membuat daemon yang menggunakan bentuk yang sangat primitif ipc(telnet dan mengirim String yang memiliki kata-kata tertentu dalam urutan tertentu). Saya membentaknya dan sekarang menggunakan JSONuntuk meneruskan pesan ke Yesodserver. Namun, ada beberapa hal yang sangat saya sukai dari...
Saya mencoba membuat jenis tampilan ghci untuk perpustakaan saya seintuitif mungkin, tetapi saya mengalami banyak kesulitan saat menggunakan fitur jenis yang lebih canggih. Katakanlah saya memiliki kode ini dalam sebuah file: {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DataKinds #-} {-#...