Rachunek λ jest formalnym systemem do definiowania funkcji, stosowania funkcji i rekurencji, który stanowi matematyczną podstawę programowania funkcjonalnego.
Czytałem ostatnio o rachunku Lambda, ale o dziwo nie mogę znaleźć wyjaśnienia, dlaczego nazywa się on „Lambda” lub skąd pochodzi to wyrażenie. Czy ktoś może wyjaśnić pochodzenie tego terminu?
Na stronie Wikipedii dla Fixed Point Combinators jest napisany dość tajemniczy tekst Kombinator Y jest przykładem tego, co powoduje, że rachunek Lambda jest niespójny. Dlatego należy to traktować podejrzliwie. Można jednak bezpiecznie rozważyć kombinator Y, gdy jest on zdefiniowany tylko w logice matematycznej. Czy wdałem się w jakąś powieść szpiegowską? …
Klasycznie istnieją 3 popularne sposoby myślenia o obliczeniach: maszyna Turinga, obwody i rachunek lambda (używam tego jako haczyka dla większości widoków funkcjonalnych). Wszystkie 3 były owocnymi sposobami myślenia o różnych typach problemów, a różne dziedziny stosują różne formuły z tego powodu. Kiedy jednak pracuję z obliczeniami kwantowymi, zawsze myślę tylko …
Czytałem od kilku tygodni o rachunku Lambda, ale jeszcze nie widziałem niczego, co różni się materialnie od istniejących funkcji matematycznych i chcę wiedzieć, czy to tylko kwestia notacji, czy też są jakieś nowe właściwości lub reguły utworzone przez aksjomaty rachunku lambda, które nie mają zastosowania do każdej funkcji matematycznej. Na …
Wiele podręczników obejmuje typy przecięć w rachunku lambda. Reguły pisania dla przecięcia można zdefiniować w następujący sposób (na górze zwykłego rachunku lambda z podtypami): Γ⊢M:T1Γ⊢M:T2Γ⊢M:T1∧T2(∧I)Γ⊢M:⊤(⊤I)Γ⊢M.:T.1Γ⊢M.:T.2)Γ⊢M.:T.1∧T.2)(∧ja)Γ⊢M.:⊤(⊤ja) \dfrac{\Gamma \vdash M : T_1 \quad \Gamma \vdash M : T_2} {\Gamma \vdash M : T_1 \wedge T_2} (\wedge I) \qquad\qquad \dfrac{} {\Gamma \vdash M …
Kombinator stałoprzecinkowy FIX (znany również jako kombinator Y) w (niepoprawnym) rachunku lambda ( ) jest zdefiniowany jako:λλ\lambda FIX≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))\triangleq \lambda f.(\lambda x. f~(\lambda y. x~x~y))~(\lambda x. f~(\lambda y. x~x~y)) Rozumiem jego cel i doskonale mogę śledzić wykonanie …
Większość z nas zna zgodność między logiką kombinacyjną a rachunkiem lambda . Ale nigdy nie widziałem (może nie spojrzałem wystarczająco głęboko) odpowiednika „typowanych kombinatorów”, odpowiadającego po prostu typowanemu rachunku lambda. Czy coś takiego istnieje? Gdzie można znaleźć informacje na ten temat?
Szukam prostego rachunku, który obsługuje rozumowanie na temat refleksji , a mianowicie introspekcji i manipulacji uruchomionymi programami. Czy istnieje nietypowe rozszerzenie -calculus, które umożliwia konwersję -terms do postaci, którą można manipulować składniowo, a następnie oceniać?λλλ\lambdaλλ\lambda Wyobrażam sobie, że rachunek składa się z dwóch głównych dodatkowych terminów: r e f l …
Być może moje ograniczone rozumienie tematu jest nieprawidłowe, ale rozumiem do tej pory: Programowanie funkcjonalne oparte jest na rachunku Lambda Calculus opracowanym przez Alonzo Church. Programowanie imperatywne oparte jest na modelu maszyny Turinga, stworzonym przez Alana Turinga, ucznia Churcha. Rachunek Lambda jest tak potężny i zdolny jak Maszyna Turinga, co …
Jestem studentem uniwersytetu i obecnie studiujemy rachunek Lambda Calculus. Nadal jednak trudno mi zrozumieć, dlaczego jest to dla mnie przydatne. Zdaję sobie sprawę, że jeśli wykonujesz mnóstwo programowania funkcjonalnego, może to być przydatne, ale uważam, że tak naprawdę nie jest ono potrzebne do nauki programowania funkcjonalnego, co myślisz? Po drugie, …
W skrypcie, który obecnie czytam na rachunku lambda, równoważność beta jest zdefiniowana następująco: ββ\beta -equivalence ≡β≡β\equiv_\beta jest najmniejszym równoważności, który zawiera →β→β\rightarrow_\beta . Nie mam pojęcia co to znaczy. Czy ktoś może to wyjaśnić w prostszy sposób? Może z przykładem? Potrzebuję go do lematu wynikającego z twierdzenia Church-Russer, mówiąc: ≡β≡β\equiv_\beta↠ …
Jeśli system typów może przypisać typ do λ x . x xlub do nieterminującego (λx . x x) (λ x . x x), to czy w konsekwencji ten system jest niespójny? Czy każdy typ w tym systemie jest zamieszkały? Czy możesz okazać się fałszywy?
Dobrze wiadomo, że kombinatory S i K tworzą zestaw podstawowy dla rachunku kombinatorycznego, w tym sensie, że wszystkie inne kombinatory można wyrazić za ich pomocą. Istnieje również podstawa Curry'ego B, C, K, W, która ma tę samą właściwość. Musi istnieć nieskończona liczba takich baz, ale nie znam żadnych innych. Wiem, …
Oglądałem wykład Jima Weiricha zatytułowany „ Przygody w programowaniu funkcjonalnym ”. W tym wykładzie wprowadza pojęcie kombinatorów Y, które zasadniczo znajduje punkt stały dla funkcji wyższego rzędu. Jedną z motywów, jak wspomina, jest możliwość wyrażenia funkcji rekurencyjnych za pomocą rachunku lambda, tak aby teoria Kościoła (wszystko, co można skutecznie obliczyć, …
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.