Jestem nowy w teorii języków programowania i szukam dobrego zasobu na temat zasobów dla formalnej semantyki języków programowania. Poszukuje strukturalnej semantyki operacyjnej. Mam rekomendacje książek. Ale szukam zasobu na bardziej wstępnym poziomie. Mile widziane są zwłaszcza samouczki, strona internetowa i bezpłatne rekomendacje książek.
Niech będzie CCC . Niech być bifunctor produkt na . Ponieważ Cat to CCC, możemy curry :( × ) C ( × )CCC(×)(×)(\times)CCC(×)(×)(\times) curry(×):C→(C⇒C)curry(×):C→(C⇒C)curry (\times) : C \rightarrow(C \Rightarrow C) curry(×)A=λB.A×Bcurry(×)A=λB.A×Bcurry (\times) A = \lambda B. A \times B Kategoria funktora ma zwykłą strukturę monoidalną. C⇒CC⇒CC \Rightarrow C Monoid w …
Tło . Jestem studentem studiów licencjackich, który interesuje się badaniami związanymi z teorią kategorii, monadami i Haskellem, i chcę znaleźć temat do mojej pracy licencjackiej w tej dziedzinie. Spojrzałem na gazetę Eugenio Moggi , „ Pojęcia obliczeń i monad ”, 1991, i jeszcze niewiele z tego rozumiem. Prawdopodobnie będę potrzebować …
π 1 : A × B → A π 2 : A × B → BA×B≜∀α.(A→B→α)→αA×B≜∀α.(A→B→α)→α A \times B \triangleq \forall\alpha.\; (A \to B \to \alpha) \to \alpha π1:A×B→Aπ1:A×B→A\pi_1 : A \times B \to Aπ2:A×B→Bπ2:A×B→B\pi_2 : A \times B \to B Nie jest to tak zaskakujące, nawet jeśli naturalny odczyt …
Czy potrafisz modelować wiarygodne transmisje w rachunku różniczkowym? Jeśli tak to jak? Jeśli nie: Czy istnieją podobne algebry procesowe, w których możesz? Co próbowałem: Jeśli nadawca chce wysłać wiadomość do wszystkich do , możesz napisać ! ( i do . Ale w jaki sposób gwarantujesz, że jest replikowany razy, tzn. …
Często chcemy zdefiniować obiekt zgodnie z pewnymi regułami wnioskowania. Zasady te oznaczają funkcję generowania F , która gdy jest monotonna, daje się przynajmniej stały punkt | j F . Bierzemy A : = μ F być „definicja indukcyjna” od A . Co więcej, monotoniczność F pozwala nam rozumować za pomocą …
Czy istnieje jakaś teoria języka programowania opisująca obce interfejsy funkcji (FFI) i powiązania wielu języków? Zadałem kilka problemów związanych z implementacją przepływu stosu , co tutaj nie jest odpowiednie. Ale chciałbym zapytać z widoku tej strony i zobaczyć, co mógłbym stąd uzyskać. Naprawdę doceniam twoją odpowiedź! Dzięki Dave'owi Clarke'owi za …
Inspiracją dla tego pytania jest następujące (niejasne) pytanie: Jakie są podstawy programowania / logiczne podstawy posiadania sztucznej inteligencji, która mogłaby rozumować własny kod źródłowy i go modyfikować? To wcale nie jest rygorystyczne, więc oto moja próba wyciągnięcia z tego konkretnego pytania. Interesują mnie dwie rzeczy: (A) Język programowania P, który …
Wysiłki związane z weryfikacją kompilatora często sprowadzają się do udowodnienia, że kompilator jest w pełni abstrakcyjny: zachowuje i odzwierciedla (kontekstowe) równoważności. Zamiast dostarczania pełnych dowodów abstrakcji, niektóre ostatnie (oparte na kategoriach) prace weryfikacyjne kompilatora Hasegawy [ 1 , 2 ] i Egger i in. glin. [ 3 ] udowodnić pełną …
Jeśli spojrzysz na rekurencyjne kombinatory w nierozpisanym rachunku lambda, takie jak kombinator Y lub kombinator omega: ωY==(λx.xx)(λx.xx)λf.(λx.f(xx))(λx.f(xx))ω=(λx.xx)(λx.xx)Y=λf.(λx.f(xx))(λx.f(xx)) \begin{array}{lcl} \omega & = & (\lambda x.\,x\;x)\;(\lambda x.\,x\;x)\\ Y & = & \lambda f.\,(\lambda x.\,f\;(x\;x))\; (\lambda x.\,f\;(x\;x)) \\ \end{array} Oczywiste jest, że wszystkie te kombinatory kończą kopiowanie gdzieś w swojej definicji. Co więcej, …
Biorąc pod uwagę zbiory i B , relacja difunkcyjna ( ∼ ) ⊆ A × B między nimi jest zdefiniowana jako relacja spełniająca następującą właściwość:AAABBB (∼)⊆A×B(∼)⊆A×B(\sim) \subseteq A \times B Jeżeli oraz a ′ ∼ b ′ i a ∼ b ′ , to a ′ ∼ b . a∼ba∼ba …
Ostatnio zainteresowałem się parametrownością po obejrzeniu artykułu LICS Bernardy'ego i Moulina z 2012 r. ( Https://dl.acm.org/citation.cfm?id=2359499 ). W tym artykule internalizują one jednoargumentową parametryczność w systemie czystego typu z typami zależnymi i podpowiadają, w jaki sposób można rozszerzyć konstrukcję na dowolne arie. Wcześniej widziałem tylko parametr binarny. Moje pytanie brzmi: …
W perspektywie języka programowania, co oznacza podtyp? Słyszałem, że „Dziedziczenie nie jest poddziałem”. Jakie są zatem różnice między dziedziczeniem a poddziałem?
Pytanie 1 Kiedy możemy powiedzieć, że dwa programy (napisane w jakimś języku programowania, takim jak C ++) są różne? Pierwszą skrajnością jest stwierdzenie, że dwa programy są równoważne, jeśli są identyczne. Inną skrajnością jest stwierdzenie, że dwa programy są równoważne, jeśli obliczają tę samą funkcję (lub wykazują to samo obserwowalne …
Problem z utrzymaniem porządku (lub „utrzymaniem porządku na liście”) polega na obsłudze operacji: singleton: tworzy listę z jednym elementem, zwraca do niej wskaźnik insertAfter: dany wskaźnik do elementu wstawia nowy element po nim, zwracając wskaźnik do nowego elementu delete: dany wskaźnik do elementu usuwa go z listy minPointer: biorąc pod …
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.