Pytania otagowane jako functional-programming

6
Co nowego w czysto funkcjonalnych strukturach danych od czasu Okasaki?
Od czasu książki Chrisa Okasakiego z 1998 r. „Czysto funkcjonalne struktury danych”, nie widziałem zbyt wielu nowych ekscytujących czysto funkcjonalnych struktur danych; Mogę wymienić tylko kilka: IntMap (również wynaleziony przez Okasaki w 1998 r., Ale nieobecny w tej książce) Drzewa palcowe (i ich uogólnienie na monoidy) Istnieje również kilka interesujących …


2
Wyjaśnienie funktora aplikacyjnego w kategoriach kategorycznych - funktory monoidalne
Chciałbym zrozumieć Applicativew kategoriach teorii kategorii. Dokumentacja dla Applicativetwierdzi, że jest to silny funktor LAX monoidal . Po pierwsze, strona Wikipedii o funktorach monoidalnych mówi, że funktor monoidalny jest luźny lub silny . Wydaje mi się więc, że jedno ze źródeł jest niepoprawne lub używają terminów inaczej. Czy ktoś może …




5
Czy istnieją adnotowane formalne systemy weryfikacji dla czysto funkcjonalnych języków programowania?
ACSL (Ansi C Specification Language), to specyfikacja kodu C, opatrzona specjalnymi komentarzami, która pozwala na formalną weryfikację kodu C. Nie przyjrzałem się temu, ale wyobrażam sobie, że metody formalne stosowane w weryfikatorach ACSL byłyby podobne do Hoare Logic. Jednak w przypadku czysto funkcjonalnych języków, takich jak Haskell, nie mogę sobie …

1
Jakie są praktyczne problemy z typami skrzyżowań i złączy?
Projektuję prosty funkcjonalny język programowania o typie statycznym jako sposób uczenia się. Wygląda na to, że system typów, który do tej pory wdrożyłem, może (przy odrobinie dodatkowej pracy) zawierać typy skrzyżowań i złączy, np. Możesz mieć: <Union String Integer> <Union Integer Foo> Przecięcie dwóch powyższych typów byłoby równiną Integer Połączenie …

2
Czy można zaniedbać koszt GC, analizując czas działania najgorszych struktur danych określonych w zbędnym języku programowania?
Właśnie zdałem sobie sprawę, że zakładam, że odpowiedź na moje pytanie brzmi „tak”, ale nie mam dobrego powodu. Wyobrażam sobie, że może istnieje śmieciarz, który prawdopodobnie wprowadza tylko spowolnienie w najgorszym przypadku. Czy istnieje ostateczne odniesienie, które mogę zacytować? W moim przypadku pracuję nad czysto funkcjonalną strukturą danych i używam …

2
Jakie są granice całkowitego programowania funkcjonalnego?
Jakie są ograniczenia całkowitego programowania funkcjonalnego? Nie jest to kompletna metoda Turinga, ale nadal obsługuje dużą część możliwych programów. Czy istnieją ważne konstrukcje, które można napisać w języku kompletnym Turinga, ale nie w języku funkcjonalnym? I czy słuszne jest stwierdzenie, że programy napisane w całkowicie funkcjonalnych językach mogą być całkowicie …

2
Teoria kategorii, złożoność obliczeniowa i połączenia kombinatoryczne?
Próbowałem przeczytać „ Perły projektowania algorytmu funkcjonalnego ”, a następnie „ Algebra programowania ”, i istnieje oczywista zgodność między rekurencyjnie (i wielomianowo) zdefiniowanymi typami danych i obiektami kombinatorycznymi, mającymi tę samą definicję rekurencyjną, a następnie prowadzącą do tych samych formalnych szeregów mocy (lub funkcji generujących), jak pokazano we wstępach do …

4
Czym różnią się języki rozkazujące od języków funkcjonalnych?
Czytam Simona Peytona Jonesa Implementation of Functional Programming Languages i jest jedno zdanie, które mnie trochę zaskoczyło (na stronie 39): W znacznie większym stopniu niż w przypadku języków imperatywnych języki funkcjonalne są w dużej mierze odmianami składniowymi, przy stosunkowo niewielkich różnicach semantycznych. Teraz zostało to napisane w 1987 roku i …

3
Czytnik, pisarz monady
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 …

3
Ładowanie struktury palca
Po dłuższej pracy z 2-3 palcami jestem pod wrażeniem ich szybkości w większości operacji. Jednak jedynym problemem, na jaki natknąłem się, jest duży koszt związany z początkowym utworzeniem dużego drzewa palców. Ponieważ budowanie jest definiowane jako sekwencja operacji konkatenacji, kończy się budowanie dużej liczby niepotrzebnych struktur drzewa palcowego. Ze względu …

2
(Jak) Czy możemy odkryć / przeanalizować problemy NP przy braku modelu obliczeniowego Turinga?
Z czysto abstrakcyjnego punktu widzenia rozumowania matematycznego / obliczeniowego (jak) można nawet odkryć lub wyjaśnić problemy takie jak 3-SAT, suma częściowa, podróżny sprzedawca itp.,? Czy bylibyśmy w stanie w jakikolwiek sensowny sposób uzasadnić je tylko z funkcjonalnego punktu widzenia? Czy to w ogóle możliwe? Zastanawiam się nad tym pytaniem wyłącznie …

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.