Pytania otagowane jako haskell

Haskell to funkcjonalny język programowania z silnym typowaniem statycznym, leniwą oceną, szeroką obsługą równoległości i współbieżności oraz unikalnymi możliwościami abstrakcyjnymi.

1
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 projekcie i nie jestem pewien, jakie mam teraz wybory. Oto, …




9
Jak działają funkcjonalne języki programowania?
Jeśli funkcjonalne języki programowania nie mogą zapisać żadnego stanu, w jaki sposób robią proste rzeczy, takie jak czytanie danych wejściowych od użytkownika? W jaki sposób „przechowują” dane wejściowe (lub przechowują jakiekolwiek dane?) Na przykład: w jaki sposób ta prosta rzecz w C mogłaby przełożyć się na funkcjonalny język programowania, taki …

3
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 ostatecznego …

3
mtl, transformers, monads-fd, monadLib i paradoks wyboru
Hackage ma kilka pakietów dla transformatorów monad: mtl : Biblioteka transformatorów Monad transformatory : funktor do betonu i transformatory monadowe monads-fd : Klasy Monad, używające zależności funkcjonalnych monads-tf : Klasy Monad, używające rodzin typów monadLib : kolekcja transformatorów monad. mtl-tf : biblioteka transformatorów Monad korzystająca z rodzin typów. mmtl : …

4
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

3
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 ten fragment kodu w ghci(po zaimportowaniu Data.Functioni Control.Applicative), ghciwyświetla listę wszystkich potęg 2. Jak działa ten fragment kodu?
90 haskell 

3
Jaki jest stan bieżących wdrożeń programowania funkcjonalnego reaktywnego?
Próbuję wyobrazić sobie kilka prostych, automatycznych układów fizycznych (takich jak wahadło, ramiona robotów itp.) W Haskell. Często systemy te można opisać równaniami takimi jak df/dt = c*f(t) + u(t) gdzie u(t)reprezentuje rodzaj „inteligentnej kontroli”. Systemy te bardzo dobrze pasują do paradygmatu programowania funkcjonalnego reaktywnego. Więc złapałem książkę „Haskell Szkołę wyrażenie” …

7
Jakie są punkty ścisłości Haskella?
Wszyscy wiemy (lub powinniśmy wiedzieć), że Haskell jest domyślnie leniwy. Nic nie jest oceniane, dopóki nie musi zostać ocenione. Kiedy więc trzeba coś ocenić? Są punkty, w których Haskell musi być surowy. Nazywam te „punktami ścisłości”, chociaż ten konkretny termin nie jest tak rozpowszechniony, jak myślałem. Jeśli chodzi o mnie: …

15
Napisz tłumacza języka Haskell w języku Haskell
Klasycznym ćwiczeniem programistycznym jest napisanie interpretera Lisp / Scheme w Lisp / Scheme. Możliwości pełnego języka można wykorzystać do stworzenia tłumacza dla podzbioru języka. Czy jest podobne ćwiczenie dla Haskella? Chciałbym zaimplementować podzbiór Haskell, używając Haskella jako silnika. Oczywiście można to zrobić, ale czy są dostępne do obejrzenia jakieś zasoby …

2
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 nie mogą być generalnie zrównoleglane, wydaje mi się, że RVarmoże …


5
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?

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.