Pytania otagowane jako clojure

Clojure to język ogólnego przeznaczenia wspierający interaktywne programowanie, który zachęca do funkcjonalnego stylu programowania i upraszcza programowanie wielowątkowe.

4
Dekoratory Python i makra Lisp
Patrząc na dekoratorów Pythona, ktoś stwierdził, że są tak potężni jak makra Lisp (szczególnie Clojure). Patrząc na przykłady podane w PEP 318 , wydaje mi się, że są one po prostu fantazyjnym sposobem użycia zwykłych starych funkcji wyższego rzędu w Lisp: def attrs(**kwds): def decorate(f): for k in kwds: setattr(f, …
18 python  lisp  clojure  macros 

1
Jak napisać czytelny kod Clojure?
Jestem nowy w Clojure. Rozumiem kod, który piszę, ale później staje się zbyt trudny do zrozumienia. Trudno dopasować nawiasy. Jakie są ogólne konwencje dotyczące konwencji nazewnictwa i wcięć w różnych sytuacjach? Na przykład napisałem przykładowy przykład de-strukturyzacji, aby go zrozumieć, ale za drugim razem wygląda on całkowicie nieczytelny. (defn f …

3
Jak niezależny jest Clojure od Javy?
Jestem całkiem nowy w świecie Clojure. Doceniam fakt, że można łatwo uzyskać dostęp do wszystkich bibliotek Java za pośrednictwem funkcji Clojure interop, ale zastanawiałem się, ile Clojure stoi na własnych nogach. Oczywiście istnieją pewne platformy, takie jak Android, gdzie zawsze wymagana będzie interoperacyjność z Javą, ponieważ podstawowe biblioteki są napisane …

1
Dopasowywanie wzorów w Clojure vs Scala
Jakie są kluczowe różnice między dopasowaniem wzorców w tych dwóch językach? Nie odnoszę się do składni, ale możliwości, szczegółów implementacji, zakresu przypadków użycia i konieczności. Aplikacje Scala (np. Lift and Play) mówią z dumą o sprawności dopasowywania wzorców języków. Z drugiej strony Clojure ma bibliotekę, core.match i wbudowaną funkcję destrukcji, …


2
Czy nawiasy kwadratowe i nawiasy klamrowe w Clojure są nadal wyrażeniami typu S?
Próbuję nauczyć się Lisp i patrzeć na wszystkie Lispy i ich różnice. Widzę, że w niektórych implementacjach Schematu można używać nawiasów kwadratowych zamiennie z nawiasami okrągłymi dla zapewnienia czytelności, więc ponieważ są one traktowane tak samo, zakładam, że nadal są one tylko wyrażeniami S, jak wszystko inne. Jednak w Clojure …
12 lisp  clojure 


2
Zbliżanie się do SICP w Clojure zamiast Scheme
Jestem studentem trzeciego roku studiów licencjackich w programie inżynierii oprogramowania i wpadłem na pomysł, aby przeczytać SICP doradcy, aby uzyskać głębsze i bardziej fundamentalne zrozumienie zasad stojących za całym tym oprogramowaniem, które tworzymy. Zasugerował, aby nie uczyć się Schematu do ukończenia książki (ponieważ nie jest to tak powszechne jak współczesne …
11 clojure  scheme  sicp 

3
Tkanie kodu bajtowego vs. makra Lisp
Czytałem o bibliotekach napisanych przez ludzi dla języków takich jak Java i C #, które wykorzystują tkanie kodu bajtowego do robienia rzeczy takich jak przechwytywanie wywołań funkcji, wstawianie kodu rejestrującego itp. Czytałem również o makrach Lisp / Clojure w spróbuj lepiej zrozumieć, jak z nich korzystać. Im więcej czytam o …



3
Najlepsze praktyki programowania funkcjonalnego Scala lub Clojure
Dużo sam kodowałem, miałem trochę doświadczenia z równoległymi modelami programowania: aktorzy, pamięć transakcyjna oprogramowania, przepływ danych. Kiedy próbuję zastosować te architektury w prawdziwym życiu - do aplikacji sieciowej o dużym obciążeniu - żaden model nie obsługuje trwałości i trwałości danych. Rzeczywiste zadania wymagają zapisania danych na końcu. Oznacza to, że …

1
Kompozycja Przykład oprogramowania transakcyjnej pamięci
Jedną z głównych zalet programowej pamięci transakcyjnej, o której zawsze się wspomina, jest kompozycyjność i modułowość. Różne fragmenty można łączyć w celu wytworzenia większych elementów. W programach opartych na blokadach często tak nie jest. Szukam prostego przykładu ilustrującego to faktycznym kodem. Wolałbym przykład w Clojure, ale Haskell też jest w …
11 haskell  clojure  stm 


2
Gdzie umieszczamy kod „pytając świat”, kiedy oddzielamy obliczenia od skutków ubocznych?
Zgodnie z zasadą rozdzielania zapytań , a także Myślenia w danych i DDD z prezentacjami Clojure, należy oddzielić skutki uboczne (modyfikujące świat) od obliczeń i decyzji, aby łatwiej było zrozumieć i przetestować obie części. Pozostawia to pytanie bez odpowiedzi: gdzie w stosunku do granicy powinniśmy postawić „zadawanie światu”? Z jednej …

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.