Rachunek λ jest formalnym systemem do definiowania funkcji, stosowania funkcji i rekurencji, który stanowi matematyczną podstawę programowania funkcjonalnego.
Podstawowe pytanie: Co robi dla nas rachunek lambda , czego nie możemy zrobić z podstawowymi właściwościami funkcji i notacją ogólnie przyswojoną w algebrze gimnazjalnej? Przede wszystkim, co oznacza streszczenie w kontekście rachunku lambda? Moje rozumienie słowa abstrakcja jest czymś oddzielonym od maszynerii, konceptualnym streszczeniem pojęcia. Jednak funkcje lambda, usuwając nazwy …
Ostatnio bardzo się zainteresowałem zrozumieniem i sprawdzeniem aspektów (funkcjonalnych) języków programowania. Jednak gdy zagłębiam się głębiej, rzeczy takie jak rachunek , teoria kategorii i semantyka denotacyjna są nieco trudne do odczytania bez odpowiedniego wyjaśnienia.λλ\lambda Czytam SICP (całkiem pouczającą książkę), ale chcę zagłębić się w teorię programowania funkcjonalnego. Czy są jakieś …
Czy są jakieś techniki rozwiązywania równań funkcyjnych dla nieznanych funkcji w rachunku lambda? Załóżmy, że mam funkcję tożsamości zdefiniowaną jako taką: Ix=xjax=xI x = x (czyli przez spisanie równanie dla oczekiwanego zachowania tej funkcji), a teraz chcę go rozwiązać za wykonując jakąś transformację algebraicznym uzyskać intensional formułę dla tej funkcji:IjaI …
Czytam o algorytmie pisania Hindleya-Milnera podczas pisania implementacji i widzę, że tak długo, jak każda zmienna jest związana, zawsze otrzymasz albo typy atomowe, albo typy, w których argumenty określą typ końcowy, taki jak t1 -> t1lub (t1 -> t2) -> (t1 -> t2)gdzie t1i t2są zmiennymi typu. Nie mogę wymyślić …
Czy ktoś może skierować mnie do recenzowanych artykułów badających zalety lub wady pisania kodu w funkcjonalnym stylu? Czy są artykuły omawiające zastosowania Lambda Calculus w takich dziedzinach, jak uczenie maszynowe, projektowanie języków itp.?
Większość samouczków na temat rachunku Lambda stanowi przykład, w którym dodatnie liczby całkowite i liczby boolowskie mogą być reprezentowane przez funkcje. Co z -1 i ja?
Myślę, że jestem dość zdezorientowany tym, co nazywa się rachunkiem różniczkowym i językiem programowania. Zwykle myślę, i można było powiedzieć, że rachunek różniczkowy jest formalnym systemem rozumowania na temat równoważności programów. Programy mają semantykę operacyjną określoną przez maszynę, która powinna (myślę?) Być deterministyczna. W ten sposób (poprawny) rachunek różniczkowy dla …
Wyrażenie kombinatora (powiedzmy na podstawie SK) można traktować jako funkcję, która odwzorowuje wyrażenia rachunku kombinatora na wyrażenia rachunku kombinatora. To znaczy, można myśleć o wyrażeniu jako funkcji X : L → L , gdzie L jest zbiorem wszystkich poprawnych pod względem składniowym wyrażeń kombinatorycznych w podstawie SK. To mapowanie jest …
Chciałbym przykład quine w czystym rachunku lambda . Byłem dość zaskoczony, że nie znalazłem go przez google. Strona quine zawiera listę quinów dla wielu „prawdziwych” języków, ale nie dla rachunku lambda. Oczywiście oznacza to zdefiniowanie, co mam na myśli przez quine w rachunku lambda, co robię poniżej. (Proszę o coś …
Programowanie funkcjonalne ma bardzo elegancki rachunek lambda i jego warianty jako teorię kopii zapasowej. Czy istnieje coś takiego dla OOP? Czym jest abstrakcja dla modelu obiektowego?
Zadałem podobne pytanie na cstheory.SE . Zgodnie z tą odpowiedzią na Stackoverflow istnieje algorytm, który w nieliniowym czystym funkcjonalnym języku programowania ma złożoność , podczas gdy tym samym algorytmem w programowaniu imperatywnym jest Ω ( n ) . Dodanie lenistwa do języka FP spowodowałoby, że algorytm Ω ( n ) …
Po pierwsze, chciałbym powiedzieć, że mój tekst poniżej może zawierać błędy, więc możesz wskazać wszelkie błędy w moim sformułowaniu pytania. Rozważ niepoprawny rachunek lambda z wartościami logicznymi i instrukcjami if, których warunki są podane przez tę składnię: t ::= v | t t | if t t t | x …
Próbuję zrozumieć gramatyki kontekstowe. Rozumiem, dlaczego języki lubią { w w ∣ w ∈ A∗}{ww∣w∈ZA∗}\{ww \mid w \in A^*\} { anbndon∣ n ∈ N }{zanbndon∣n∈N.}\{a^n b^n c^n \mid n\in\mathbb{N}\} nie są wolne od kontekstu, ale co chciałbym wiedzieć, jeśli język podobny do niepisanego rachunku lambda jest wrażliwy na kontekst. Chciałbym …
Patrzę na Rachunek Konstrukcji i jego miejsce w Kostce Lambda . Jeśli dobrze rozumiem, każdą oś sześcianu można uznać za dodanie innej operacji obejmującej typy do rachunku zwykłego, . Pierwsza oś dodaje operatory typu „typ do terminu”, drugie operatory typu „typ do typu”, a trzecia zależna typowanie, czyli operatory typu …
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.