Pytania otagowane jako functional-programming

Programowanie funkcjonalne jest paradygmatem, który próbuje rozwiązać problemy obliczeniowe poprzez łańcuchową ocenę funkcji, których wynik zależy od ich danych wejściowych, a nie od stanu programu. W tym stylu programowania skutki uboczne i zmienne dane są przestarzałe i zwykle ściśle izolowane.


2
Czego używają programiści funkcjonalni zamiast UML?
Jestem studentką CS. Obecnie uczęszczam na wykłady, podczas których uczymy się analizy i projektowania celów. Polega głównie na pisaniu przypadków użycia, analizowaniu problemu, z którym możemy się spotkać podczas pisania aplikacji dla klienta, oraz na tym, jak zaprojektować projekt, aby był zarówno rozszerzalny, przejrzysty dla programistów, jak i nie pojawiał …


1
Czy funkcje generatora są prawidłowe w programowaniu funkcjonalnym?
Pytania są następujące: Czy generatory łamią paradygmat programowania funkcjonalnego? Dlaczego lub dlaczego nie? Jeśli tak, czy generatory mogą być używane w programowaniu funkcjonalnym i jak? Rozważ następujące: function * downCounter(maxValue) { yield maxValue; yield * downCounter(maxValue > 0 ? maxValue - 1 : 0); } let counter = downCounter(26); counter.next().value; …

5
Czy funkcja jest natychmiast zanieczyszczona, jeśli przyjmuje funkcję jako parametr?
Ponieważ czystość parametru wejściowego jest nieznana do czasu działania, czy funkcja jest natychmiast uważana za nieczystą, jeśli przyjmuje funkcję jako parametr wejściowy? Powiązane: jeśli funkcja stosuje funkcję czystą, która jest zdefiniowana poza funkcją, ale nie jest przekazywana jako parametr, czy nadal jest czysta, jeśli spełnia kryteria braku efektów ubocznych, a …

4
Czy korzyść z wzorca monad IO w radzeniu sobie z efektami ubocznymi ma charakter wyłącznie naukowy?
Przepraszam za jeszcze jedno pytanie o efekty uboczne FP +, ale nie mogłem znaleźć już istniejącego, który całkiem mi na to odpowiedział. Moje (ograniczone) rozumienie programowania funkcjonalnego jest takie, że efekty stanu / uboczne powinny być zminimalizowane i oddzielone od logiki bezstanowej. Zbieram również podejście Haskella do tego, monady IO, …

5
Co sprawia, że ​​funkcjonalne języki programowania są deklaratywne, a nie imperatywne?
W wielu artykułach opisujących zalety programowania funkcjonalnego widziałem funkcjonalne języki programowania, takie jak Haskell, ML, Scala lub Clojure, nazywane „językami deklaratywnymi”, różniącymi się od języków imperatywnych, takich jak C / C ++ / C # / Java. Moje pytanie brzmi: co sprawia, że ​​funkcjonalne języki programowania są deklaratywne, a nie …


4
Wykorzystuje trwałe struktury danych w językach niefunkcjonalnych
Języki, które są czysto funkcjonalne lub prawie wyłącznie funkcjonalne, korzystają z trwałych struktur danych, ponieważ są niezmienne i dobrze pasują do bezpaństwowego stylu programowania funkcjonalnego. Ale od czasu do czasu widzimy biblioteki trwałych struktur danych dla języków (opartych na stanie, OOP), takich jak Java. Często słyszanym twierdzeniem na rzecz trwałych …

7
Dostępna książka o programowaniu funkcjonalnym [zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …


2
Co to jest Comonad i jak są one przydatne?
Ostatnio odkurza moją wiedzę na temat działania Monad. Ja również zostały wprowadzone do pojęcia „Comonad” , który jest opisany jako odwrotny podwójny z monady . Nie mogę jednak owinąć głowy wokół tego. Aby zrozumieć Monady, stworzyłem dla siebie własną analogię: Monady można postrzegać jako „plan budowy przenośników wyrażeń”. Aby zdefiniować …

6
Język oparty na ograniczonej liczbie argumentów przekazywanych do funkcji
Pomysł jest inspirowany faktem, że operatory takie jak +, -,% itd. Mogą być postrzegane jako funkcje z przekazanym jednym lub dwoma argumentami i bez efektów ubocznych. Zakładając, że ja lub ktoś inny pisze język, który zatrzymuje przekazywanie więcej niż dwóch argumentów, a także działa tylko poprzez wartość zwracaną: a) czy …

5
Czy kontrakt semantyczny interfejsu (OOP) ma więcej informacji niż podpis funkcji (FP)?
Niektórzy mówią, że jeśli doprowadzisz ich ekstremalne zasady do SOLID, skończysz na programowaniu funkcjonalnym . Zgadzam się z tym artykułem, ale myślę, że niektóre semantyki zostały utracone podczas przejścia z interfejsu / obiektu do funkcji / zamknięcia i chcę wiedzieć, w jaki sposób programowanie funkcjonalne może złagodzić utratę. Z artykułu: …

2
Czy przydatny jest polimorfizm parametryczny wyższego rzędu?
Jestem prawie pewien, że wszyscy znają ogólne metody formularza: T DoSomething<T>(T item) Ta funkcja jest również nazywana parametrycznie polimorficzną (PP), w szczególności PP rangi 1 . Powiedzmy, że tę metodę można przedstawić za pomocą obiektu funkcji formularza: <T> : T -> T Oznacza to, <T>że pobiera jeden parametr typu i …

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.