-
1. Data: 2017-09-21 12:10:48
Temat: Optymalizacja struktur danych dla programów funkcyjnych
Od: g...@g...com
Cześć,
jakiś czas temu wspominałem o pracy magisterskiej, którą pisałem.
Ponieważ właśnie ją obroniłem, niniejszym ją upubliczniam.
Praca dostępna jest pod adresem
https://github.com/panicz/master-thesis
Poniżej zamieszczam abstrakt w języku polskim, z zastrzeżeniem,
że praca jest w całości po angielsku.
Celem niniejszej pracy jest wypracowanie technik pozwalających
na efektywne wykonywanie programów napisanych w stylu funkcyjnym.
Praca składa się z dwóch części. W pierwszej przedstawione są klasyczne
techniki transformacji programów funkcyjnych do postaci imperatywnej
oraz podstawowe metody dowodzenia twierdzeń o własnościach programów.
W części drugiej proponowana jest metoda przekształcania pewnych klas
programów operujących na listach w równoważne programy operujące na
tablicach. Ponadto analizowane są warunki pozwalające na przekształcenie
funkcyjnej implementacji algorytmu sortowania szybkiego do optymalnej
postaci imperatywnej.
Wszystkie programy źródłowe oraz transformacje wyrażone są przy pomocy
czysto funkcyjnego podzbioru algorytmicznego języka Scheme, opisa\-nego
w rozdziale 2. Docelowym modelem obliczeń jest wariant maszyny RAM, której
model i zestaw instrukcji zostały dogłębnie opisane w rozdziale 3, wraz
z implementacją, wykorzystującą imperatywne składniki języka Sche\-me.
W rozdziale 4 zaprezentowane są klasyczne techniki
przekształcania programów wyrażonych w omówionym podzbiorze języka
Scheme w ciągi instrukcji dla maszyny RAM, w szczególności konwersja
programów do postaci przekazującej kontynuacje (ang. \textit{Continuation-Passing
Style}) oraz optymalizacja rekurencji ogonowej (ang. \textit{Tail-Call
Optimization}).
Rozdział 5 opisuje uproszczony wariant systemu Boyera-Moore'a wraz
z pełną listą aksjomatów służących do dowodzenia twierdzeń o programach
wyrażonych w zaprezentowanym podzbiorze języka Scheme. W przeciwieństwie
jednak do oryginalnego systemu Boyera i Moore'a, wypracowany system nie
jest w stanie samodzielnie dowodzić twierdzeń, i może jedynie służyć
do sprawdzania poprawności dowodów wprowadzonych przez użytkownika.
W rozdziale 6 wypracowana zostaje autorska metoda konwersji programów
funkcyjnych do postaci otrzymujących i przekazujących tablice. Językiem
źródłowym jest czysto funkcyjny podzbiór języka Scheme opisany w rozdziale
2, zaś językiem docelowym -- pełny język Scheme zawierajacy składniki
imperatywne. Wyprawcowana metoda konwersji ma jedynie szkicowy charakter
i z pewnością wymaga dopracowania.
Rozdział 7 podejmuje zagadnienie automatycznej konwersji funkcyjnego
wariantu algorytmu sortowania szybkiego do postaci imperatywnej,
jednak nie prezentuje działającego algorytmu konwersji.
Słowa kluczowe
struktury danych, transformacje programów, kompilacja, dowodzenie twierdzeń,
programowanie funkcyjne
-
2. Data: 2017-09-21 19:44:18
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <N...@g...pl>
domyślam się, że na politechnice warszawskiej?
w którym punkcie zawarłeś wnioski końcowe?
-
3. Data: 2017-09-21 20:49:58
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: g...@g...com
W dniu czwartek, 21 września 2017 19:44:20 UTC+2 użytkownik wół, wół roboczy, wół
dojno roboczo obronny 'POPIS/EU napisał:
> domyślam się, że na politechnice warszawskiej?
akurat strona tytułowa jest po polsku.
możesz sprawdzić, nie musisz się domyślać
-
4. Data: 2017-09-21 22:35:55
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: Roman Tyczka <n...@b...no>
On Thu, 21 Sep 2017 11:49:58 -0700 (PDT), g...@g...com wrote:
>> domyślam się, że na politechnice warszawskiej?
>
> akurat strona tytułowa jest po polsku.
> możesz sprawdzić, nie musisz się domyślać
Z tym, że do niego fakty nie docierają, wszystko opiera o domysły i
fantazję, dlatego bywa taki zabawny.
--
pozdrawiam
Roman Tyczka
-
5. Data: 2017-09-21 22:41:23
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: "M.M." <m...@g...com>
On Thursday, September 21, 2017 at 8:50:00 PM UTC+2, g...@g...com wrote:
> W dniu czwartek, 21 września 2017 19:44:20 UTC+2 użytkownik wół, wół roboczy, wół
dojno roboczo obronny 'POPIS/EU napisał:
> > domyślam się, że na politechnice warszawskiej?
>
> akurat strona tytułowa jest po polsku.
> możesz sprawdzić, nie musisz się domyślać
Jakbyś wnioski opisał na grupie, to też bym przeczytał z ogromnym
zaciekawieniem, a może i bym skomentował.
Pozdrawiam
-
6. Data: 2017-09-28 18:08:02
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <N...@g...pl>
gdańsk... morskie powietrze dobrze wpływa na tamtejsze dziewczyny,
niestety nie miałem okazji sprawdzić, bo mnie tam nie przyjęli (wiadomo,
nie zasłużyłem)...
-
7. Data: 2017-09-28 19:22:32
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: g...@g...com
W dniu czwartek, 28 września 2017 18:08:03 UTC+2 użytkownik wół, wół roboczy, wół
dojno roboczo obronny 'POPIS/EU napisał:
> gdańsk... morskie powietrze dobrze wpływa na tamtejsze dziewczyny,
> niestety nie miałem okazji sprawdzić, bo mnie tam nie przyjęli (wiadomo,
> nie zasłużyłem)...
może nie aplikowałeś?
-
8. Data: 2017-09-28 19:54:07
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU <N...@g...pl>
> może nie aplikowałeś?
aplikowałem czy nie aplikowałem,
ważne, że mnie nie przyjeli...
-
9. Data: 2017-09-28 21:14:24
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: fir <p...@g...com>
W dniu czwartek, 28 września 2017 19:22:33 UTC+2 użytkownik g...@g...com
napisał:
> W dniu czwartek, 28 września 2017 18:08:03 UTC+2 użytkownik wół, wół roboczy, wół
dojno roboczo obronny 'POPIS/EU napisał:
> > gdańsk... morskie powietrze dobrze wpływa na tamtejsze dziewczyny,
> > niestety nie miałem okazji sprawdzić, bo mnie tam nie przyjęli (wiadomo,
> > nie zasłużyłem)...
>
> może nie aplikowałeś?
dobre
-
10. Data: 2017-09-30 13:57:05
Temat: Re: Optymalizacja struktur danych dla programów funkcyjnych
Od: fir <p...@g...com>
W dniu czwartek, 21 września 2017 12:10:49 UTC+2 użytkownik g...@g...com
napisał:
> Cześć,
> jakiś czas temu wspominałem o pracy magisterskiej, którą pisałem.
> Ponieważ właśnie ją obroniłem, niniejszym ją upubliczniam.
> Praca dostępna jest pod adresem
>
spoko ale mysle ze stety czy nieststy tutaj malo osob jest zainteresowanych jezykami
funkcyjnymi, (co nie znaczy ze nie mozna o nich pisac)