Lisp jest (rodziną) funkcjonalnych języków programowania ogólnego zastosowania, opartym na rachunku lambda, z możliwością manipulowania kodem źródłowym jako strukturą danych.
Próbuję napisać rozgałęzienie i wyszukiwanie powiązane na zbiorze wszystkich funkcji f: D -> R, gdzie rozmiar domeny jest mały (| D | ~ 20), a zakres jest znacznie większy (| R | ~ 2 ^ 20 ). Początkowo wymyśliłem następujące rozwiązanie. (builder (domain range condlist partial-map) (let ((passed? (check condlist …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat wymiany oprogramowania w inżynierii oprogramowania. Zamknięte 8 lat temu . Wiele osób mądrzejszych ode mnie pisze o tym, kiedy uczysz się Lisp, dzięki czemu jesteś lepszym programistą, ponieważ …
Dlaczego społeczność Lisp woli gromadzić wszystkie nawiasy na końcu funkcji: (defn defer-expensive [cheap expensive] (if-let [good-enough (force cheap)] good-enough (force expensive))) Dlaczego nie zastosować konwencji takiej jak C lub Java? No cóż, Lisp jest znacznie starszy od tych języków, ale mówię o współczesnych Lispersach. (defn defer-expensive [cheap expensive] (if-let [good-enough …
Common Lisp pozwala pisać makra, które wykonują dowolną transformację źródłową. Schemat zapewnia higieniczny system dopasowywania wzorów, który pozwala również przeprowadzać transformacje. Jak przydatne są makra w praktyce? Paul Graham powiedział w Beating the Averages, że: Kod źródłowy edytora Viaweb zawierał prawdopodobnie około 20-25% makr. Jakie rzeczy ludzie faktycznie robią z …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 5 lat temu . Pochodząc z programowania proceduralnego / OO, zwykle piszę programy schematyczne w sposób proceduralny. Byłbym zainteresowany nauką Scheme lub Lisp …
Uczę się Scheme z SICP i mam wrażenie, że duża część tego, co czyni Scheme, a tym bardziej LISP, jest systemem makro. Ale skoro makra są rozszerzane w czasie kompilacji, dlaczego ludzie nie tworzą równoważnych systemów makr dla C / Python / Java / cokolwiek? Na przykład można powiązać pythonpolecenie …
Jedną z rzeczy, która sprawia, że Ruby świeci, jest możliwość lepszego tworzenia języków specyficznych dla domeny Sinatra Rspec Grabie ActiveRecord Ruby on Rails Chociaż można duplikować te biblioteki w LISP za pomocą makr, myślę, że implementacja Ruby jest bardziej elegancka. Niemniej jednak myślę, że zdarzają się przypadki, że makro LISP …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 4 lata temu . Wydaje się, że od dawna panuje przekonanie (głównie nie-lisperów), że seplenienie jest lepsze niż większość …
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 …
Próbuję nauczyć się trochę LISP i dużo czytałem o znaczeniu makr LISP, więc chciałbym zdobyć trochę doświadczenia w pracy z nimi. Czy możesz zasugerować praktyczny obszar zastosowania, który pozwoliłby mi użyć makr do rozwiązania rzeczywistego problemu i zrozumienia przydatności tego konstruktu programistycznego? UWAGA To nie jest ogólny projekt, który powinienem …
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, …
IronScheme jest wspomniany na Wikipedii jako następca nieudanego projektu o nazwie IronLisp, przenosząc Lisp do CLR i .NET, tak jak Clojure robi to dla JVM. Czy ktoś ma doświadczenie z tym językiem? Wygląda dość kompletnie (99%), ale nie jestem pewien, jak ocenić, czy warto poświęcić czas na konfigurację, czy nie. …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 6 lat temu . Przyjrzałem się XSLT do przekształcania jednego pliku XML w inny (HTML itp.). Teraz, gdy widzę, że XSLT ma zalety …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 5 lat temu . Przez kilka dziesięcioleci językiem programowania AI był Prolog lub LISP , a kilka innych nie było tak dobrze znanych …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.