Pytania otagowane jako functional-programming

Programowanie funkcjonalne to paradygmat programowania oparty na budowaniu abstrakcji za pomocą funkcji, unikaniu skutków ubocznych i zmianie stanu. Czyste funkcjonalne programowanie jest bezpieczne dla wątków.


10
Czy w Scali mogę spakować więcej niż dwie listy?
Biorąc pod uwagę następującą listę Scala: val l = List(List("a1", "b1", "c1"), List("a2", "b2", "c2"), List("a3", "b3", "c3")) Jak mogę zdobyć: List(("a1", "a2", "a3"), ("b1", "b2", "b3"), ("c1", "c2", "c3")) Ponieważ zip może być używany tylko do łączenia dwóch list, myślę, że musiałbyś jakoś powtórzyć / zmniejszyć główną listę. Nic …

5
Dlaczego nie mogę zamapować liczb całkowitych na ciągi podczas przesyłania strumieniowego z tablicy?
Ten kod działa (pobrany w Javadoc): List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); Tego nie można skompilować: int[] numbers = {1, 2, 3, 4}; String commaSeparatedNumbers = Arrays.stream(numbers) .map((Integer i) -> i.toString()) .collect(Collectors.joining(", ")); IDEA mówi mi, że mam „niezgodny ciąg …

5
implementacja wnioskowania o typie
Widzę tutaj kilka interesujących dyskusji na temat pisania statycznego i dynamicznego. Generalnie wolę wpisywanie statyczne, ze względu na sprawdzanie typów kompilacji, lepiej udokumentowany kod itp. Zgadzam się jednak, że zaśmiecają one kod, jeśli są robione tak, jak robi to na przykład Java. Więc zaraz zacznę budować własny funkcjonalny język stylów, …

1
Wyjaśnienie kombinatorów dla człowieka pracy
Co to jest kombinator? Czy jest to „funkcja lub definicja bez wolnych zmiennych” (zgodnie z definicją w SO)? A co powiesz na to: według Johna Hughesa w jego dobrze znanym artykule na temat strzałek „kombinator to funkcja, która buduje fragmenty programu z fragmentów programu” , co jest korzystne, ponieważ „… …



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 …

8
Jak / dlaczego języki funkcjonalne (szczególnie Erlang) dobrze się skalują?
Od jakiegoś czasu obserwuję rosnącą widoczność funkcjonalnych języków programowania i funkcji. Zajrzałem do nich i nie widziałem powodu odwołania. Niedawno byłem na prezentacji Kevina Smitha „Basics of Erlang” w Codemash . Podobała mi się prezentacja i dowiedziałem się, że wiele atrybutów programowania funkcjonalnego znacznie ułatwia unikanie problemów z wątkami / …

5
Czy Ruby przeprowadza optymalizację wywołań ogona?
Języki funkcjonalne prowadzą do wykorzystania rekurencji do rozwiązywania wielu problemów, dlatego wiele z nich wykonuje Tail Call Optimization (TCO). TCO powoduje, że wywołania funkcji z innej funkcji (lub samej siebie, w którym to przypadku ta funkcja jest również znana jako eliminacja rekurencji ogona, która jest podzbiorem TCO), jako ostatni krok …

1
Jak spakować listy na liście
Chcę spakować następującą listę list: >>> zip([[1,2], [3,4], [5,6]]) [[1,3,5], [2,4,6]] Można to osiągnąć przy obecnej zipimplementacji tylko wtedy, gdy lista jest podzielona na poszczególne komponenty: >>> zip([1,2], [3,4], [5,6]) (1, 3, 5), (2, 4, 6)] Nie mogę dowiedzieć się, jak podzielić listę i przekazać jej poszczególne elementy zip. Preferowane …



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” …


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.