Pytania otagowane jako functional-programming

Programowanie funkcjonalne jest paradygmatem programowania, który wykorzystuje funkcje głównie jako środki do tworzenia abstrakcji i wyrażania obliczeń składających się na program komputerowy.

1
Wnioskowanie typu na podstawie ograniczeń z danymi algebraicznymi
Pracuję nad językiem genealogicznym ML opartym na wyrażeniach, więc oczywiście wymaga wnioskowania typu> :) Teraz próbuję rozszerzyć oparte na ograniczeniach rozwiązanie problemu wnioskowania typów, oparte na prostej implementacji w EOPL (Friedman i Wand), ale są to eleganckie algebraiczne typy danych. To, co mam do tej pory, działa płynnie; Jeśli wyrażenie …

1
Zwięzły przykład wykładniczego kosztu wnioskowania typu ML
Zwrócono mi uwagę, że koszt wnioskowania o typ w funkcjonalnym języku, takim jak OCaml, może być bardzo wysoki. Twierdzenie jest takie, że istnieje ciąg wyrażeń taki, że dla każdego wyrażenia długość odpowiedniego typu jest wykładnicza względem długości wyrażenia. Wymyśliłem sekwencję poniżej. Moje pytanie brzmi: czy znasz sekwencję z bardziej zwięzłymi …

2
Czy istnieje paradygmat komponowania funkcji „aktualizacji przyrostowej” w czystym stylu przepływu danych?
Nie znam poprawnej terminologii do zadawania tego pytania, dlatego opiszę to wieloma słowami, proszę o wyrozumiałość. Tło , więc jesteśmy na tej samej stronie: programy często zawierają pamięci podręczne - kompromis czas / pamięć. Częstym błędem programisty jest zapomnienie o aktualizacji pamięci podręcznej po zmianie jednego z jej źródeł / …

4
Jakie są popularne formalne techniki potwierdzania poprawności kodu funkcjonalnego?
Chcę przedstawić dowody dla części programu Haskell, który piszę w ramach mojej pracy magisterskiej. Jednak jak dotąd nie udało mi się znaleźć dobrej pracy referencyjnej. Książka wprowadzająca Grahama Huttona Programowanie w Haskell ( Google Books ) - którą czytam podczas nauki Haskell - porusza kilka technik rozumowania programów, takich jak …

1
Czy typy własne powodują, że rachunek konstrukcji indukcyjnych staje się przestarzały?
Typy własne są rozszerzeniem Rachunku konstrukcji [1], które pozwalają językowi wyrażać algebraiczne typy danych zakodowane za pomocą kodowania Scott. Kodowanie Scott daje możliwość dopasowania do wzorca O(1), który jest jednym z głównych czynników motywujących do włączenia definicji indukcyjnych do CC. Jednak typy własne tworzą znacznie prostszą i elegancką teorię podstawową …

3
anonimowe funkcje lambda (programowanie funkcjonalne)
Co to są funkcje anonimowe (lambda)? Jaka jest formalna definicja anonimowej funkcji w funkcjonalnym języku programowania? Mówiąc najprościej, kiedy programuję w schemacie / lisp, powiedziałbym, że funkcja anonimowa (lambda) jest funkcją niezwiązaną z identyfikatorem. Czy to wszystko, co możesz formalnie powiedzieć o funkcji lambda? Myślę, że do tej prostej definicji …

1
λ-rachunek: Co jest najbardziej wydajne w reprezentacji pamięci w funkcjach?
Chciałbym porównać wydajność struktur danych zakodowanych funkcyjnie (Church / Scott) i klasycznie zakodowanych (asembler / C). Ale zanim to zrobię, muszę wiedzieć, jak wydajna jest / może być reprezentacja funkcji w pamięci. Funkcję tę można oczywiście częściowo zastosować (inaczej zamknięcie). Interesuję się zarówno obecnym algorytmem kodowania, popularnymi językami funkcjonalnymi (Haskell, …


1
Czy kombinacyjne terminy logiczne są zawsze większe?
Istnieje więc algorytm konwertujący warunki rachunku lambda na logikę kombinatoryczną za pomocą kombinatorów SK. Produkuje rzeczy, które eksplodują wielkością. Chciałbym dowiedzieć się więcej o tej eksplozji w rozmiarze. Nie mogę jednak wymyślić lepszego algorytmu. Słyszałem, że języki funkcjonalne są praktycznie kompilowane z kombinatorami, więc wydaje się, że musi istnieć lepszy …

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.