Pytania oznaczone «haskell»

93
Wyjątki w Yesod

Zrobiłem demona, który używał bardzo prymitywnej formy ipc(telnet i wysyłanie łańcucha, który zawierał określone słowa w określonej kolejności). Wyskoczyłem z tego i używam teraz JSONdo przekazywania wiadomości na Yesodserwer. Jednak było kilka rzeczy, które bardzo mi się podobały w moim...

92
Różnica między stanem, ST, IORef i MVar

Pracuję nad napisaniem sobie schematu w 48 godzin (mam do około 85 godzin) i dotarłem do części dotyczącej dodawania zmiennych i przypisań . W tym rozdziale jest duży skok koncepcyjny i żałuję, że nie wykonano go w dwóch krokach z dobrą refaktoryzacją pomiędzy, a nie przeskakiwaniem od razu do...

91
Potęgowanie w Haskellu

Czy ktoś może mi powiedzieć, dlaczego Haskell Prelude definiuje dwie oddzielne funkcje potęgowania (tj. ^I **)? Myślałem, że system typów miał wyeliminować tego rodzaju powielanie. Prelude> 2^2 4 Prelude> 4**0.5 2.0

90
Parallel mapM na tablicach Repa

W mojej ostatniej pracy z Gibbs samplingwielkim wykorzystaniem RVar, moim zdaniem, zapewnia prawie idealny interfejs do generowania liczb losowych. Niestety, nie mogłem skorzystać z Repa ze względu na brak możliwości korzystania z monadycznych działań na mapach. Chociaż wyraźnie mapy monadyczne...

90
Jak działa ten zaciemniony kod Haskella?

Czytając https://en.uncyclopedia.co/wiki/Haskell (i ignorując wszystkie „obraźliwe” rzeczy), natknąłem się na następujący fragment zaciemnionego kodu: fix$(<$>)<$>(:)<*>((<$>((:[{- thor's mother -}])<$>))(=<<)<$>(*)<$>(*2))$1 Kiedy uruchamiam...

89
Co jest takiego złego w Lazy I / O?

Generalnie słyszałem, że kod produkcyjny powinien unikać używania Lazy I / O. Moje pytanie brzmi: dlaczego? Czy używanie Lazy I / O poza zwykłą zabawą jest w porządku? A co sprawia, że ​​alternatywy (np. Rachmistrzowie) są lepsze?

88
Kiedy są przydatne typy wyższego rodzaju?

Od jakiegoś czasu zajmuję się programowaniem w języku F # i podoba mi się to. Jednak jedno słowo, które wiem, że nie istnieje w F #, to typy wyższego rodzaju. Przeczytałem materiały o typach wyższego rzędu i myślę, że rozumiem ich definicję. Po prostu nie jestem pewien, dlaczego są przydatne....

87
Jak używać poprawki i jak to działa?

Byłem trochę zdezorientowany dokumentacją fix(chociaż myślę, że rozumiem teraz, co ma robić), więc spojrzałem na kod źródłowy. To mnie bardziej zdezorientowało: fix :: (a -> a) -> a fix f = let x = f x in x Jak dokładnie zwraca to stały punkt? Postanowiłem wypróbować to w linii...