functional-programming

Wieże Hanoi z kołkami K

TheTowers of Hanoi problem jest klasycznym problemem rekursji. Otrzymujesz 3 kołki z dyskami na jednym z nich i musisz przen ... (p3::p2::p1::rest) Uwaga że nie dotyczy to przypadków zdegenerowanych, dla których nie ma rozwiązania, np. HanoiK 2 [1; 2]

Zalety podtypowania nad typeklasami

Jakie są zalety OOP Podtyp nad typeklasami, jeśli w ogóle? Innymi słowy, teraz, gdy mamy typeklasy, czy jest jakiś powód, aby nadal używać OOP podtypowania? PS: jestem programistą Scali.

Funkcjonalne przetwarzanie strumieni Scala bez błędów OutOfMemory

Czy możliwe jest zastosowanie programowania funkcyjnego do strumieni Scala, tak aby strumień był przetwarzany sekwencyjnie, a ... skania OutOfMemory? UPDATE : to był błąd w Scali , który został już naprawiony. Więc to jest mniej lub bardziej nieaktualne.

Rura do przodu w C#

Kontynuując moje śledztwo wyrażania idei F# W C#, chciałem mieć operator pipe forward. Na wszystko, co jest zapakowane w lic ... głem zrobić WriteAllLines, ale nie o to chodzi) EDIT: poprawki zgodnie z komentarzem Earwickera (jeśli dobrze zrozumiałem).

Walidacja a dysjunkcja

Załóżmy, że chcę napisać metodę z następującym podpisem: def parse(input: List[(String, String)]): ValidationNel[Throwabl ... prawdziwym kodzie i nie rozwinąłem jeszcze preferencji dla jednego nad drugim. Coś przeoczyłem? czy wolę jedno nad drugim?

Czy ta właściwość funktora jest silniejsza niż monada?

Zastanawiając się, jak uogólnić monady, wymyśliłem następującą właściwość funktora F: inject :: (a -> F b) -> F(a -&g ... ku", czy to by się przydało? Na przykład możemy wymagać, aby R (F t) był izomorficzny z F (R t) w jednym lub obu kierunkach.

Czy jest sposób na currying w C?

Powiedzmy, że mam wskaźnik do funkcji _stack_push(stack* stk, void* el). Chcę móc wywołać curry(_stack_push, my_stack) i odzy ... obić, ponieważ C nie pozwala na definicję funkcji runtime, ale wiem, że są tu dużo mądrzejsi ludzie niż ja:). Jakieś pomysły?

Jak mogę zrozumieć "(.). (.)"?

Wydaje mi się, że rozumiem fmap . fmap dla funktorów, ale na funkcjach boli mnie głowa od miesięcy. Widziałem, że można po p ... na zrobienie tego, jak ktokolwiek wymyślił (.) . (.)? Musi być jakieś głębsze zrozumienie lub intuicja, której mi brakuje.

Wydajna implementacja ciągów w Haskell

Obecnie uczę się Haskell i zastanawiam się, jakie są najlepsze praktyki podczas pracy ze strunami w Haskell. Domyślną implem ... się do następnego znaku. Ale lubię grać z Haskell do tej pory, więc chcę wierzyć, że domyślna implementacja jest skuteczna.

Objaśnianie programowania funkcyjnego programistom zorientowanym obiektowo i osobom mniej technicznym

Jakie są dobre przykłady, które mogę wykorzystać do wyjaśnienia programowania funkcyjnego? Odbiorcami byliby ludzie z małym doświadczeniem programistycznym lub ludzie, którzy mają tylko doświadczenie obiektowe.

C++: wrapper funkcji, który zachowuje się tak samo jak sama funkcja

Jak mogę napisać wrapper, który może zawijać dowolną funkcję i może być wywołany tak jak sama funkcja? Powód, dla którego t ... anie runtime, ale posiadanie takiego obiektu Timer do logowania runtime kilku wybranych funkcji jest dla mnie wygodniejsze.)

Testowanie GUI [zamknięte]

Pracuję nad kwestią testowania mojego GUI i nie jestem do końca pewien najlepszego podejścia tutaj. Mój GUI jest zbudowany pr ... systemu działającego, aby naprawdę przetestować interfejs użytkownika. Uwagi na ten temat będą mile widziane. Dzięki, Jeff

Czystość a przejrzystość referencyjna

Terminy wydają się być zdefiniowane inaczej, ale zawsze myślałem o jednym sugerującym drugie; nie mogę myśleć o żadnym przyp ... ym, jeśli w ogóle istnieją? Jeśli istnieje różnica, przykładowe wyrażenie, które wyraźnie to pokazuje, byłoby mile widziane.

Jakie są skutki działania "funkcjonalnej" rdzy?

Podążam śladem rdzy na Exercism.io . mam sporo doświadczenia w C / C++. Lubię "funkcjonalne" elementy Rusta, ale martwię się ... e spowolnienie? jeśli chcę napisać kod o wysokiej wydajności, czy powinienemkiedykolwiek używać tego funkcjonalnego stylu?

Dlaczego nie ma generyków w Go?

Disclaimer: gram z Go tylko jeden dzień, więc jest duża szansa, że wiele przegapiłem. Czy ktoś wie dlaczego nie ma realnego ... e lepiej niż chłopaki z Javy, ale po co trzymać generyki z dala? Czy są zaplanowane i po prostu jeszcze nie zaimplementowane?

składanie list w Pythonie; kompresowanie listy list?

Chłopaki. Próbuję znaleźć najbardziej eleganckie rozwiązanie problemu i zastanawiam się, czy python ma coś wbudowanego w to, ... , "c:\\temp"] subs = [os.listdir(d) for d in dirs] print subs currently gives me a list-of-lists, but I really want a list.

Co się dzieje, gdy komponuję * z + w Haskell?

Próbuję zrozumieć wynik (*) . (+) W Haskell. Wiem, że operator kompozycji jest tylko standardowym składem funkcji matema ... e kroki podczas komponowania tych, ale nie do końca rozumiem, jak to się dzieje, aby uzyskać ten wynik (i jaki jest wynik ).

funkcja any () w Pythonie z wywołaniem zwrotnym

Standardowa biblioteka Pythona definiuje any() function that Zwraca True, jeśli jakikolwiek element iterable jest true. ... zwrotne, aby powiedzieć, czy element pasuje do rachunku jak: any([1, 2, 'joe'], lambda e: isinstance(e, int) and e > 0)

Definiowanie i wywoływanie funkcji w jednym kroku

Czy istnieje sposób w Javascript, aby zdefiniować funkcję i natychmiast ją wywołać, w sposób, który pozwala na jej ponowne uż ... urencyjnych lub funkcji, które muszą być uruchomione na $(document).ready(), ale także później, gdy sytuacja się zmieni, itp.

Czy są jakieś dobre benchmarki Clojure?

edytuj: benchmarki Clojure są na The Benchmarks Game. Zrobiłem to pytanie community wiki i zapraszam innych do aktualizacji. ... właśnie opublikował wspaniałą dyskusję na temat benchmarkingu z językami JVM na swoim blogu: "Getting benchmarking right" .