O usłudze
PrzetłumaczoneRozwijam programy w Joy — czysto funkcyjnym języku konkatenacyjnym, w którym całe programy są budowane z kompozycji funkcji, a funkcje przekazują sobie pojedynczy stos. Nie ma nazwanych zmiennych ani zamieszania z lambdami: łączę małe kombinatory w duże, a cały program czyta się jak uczciwy przepływ danych. Jeśli potrzebujesz procedury stosowej, zestawu wielokrotnego użytku cytatów lub zgrabnego przekształcenia zawiłej logiki bezpunktowej — zrobię to.
Moja praca przebiega w kilku kierunkach. Po pierwsze, rozwój od podstaw: projektuję słownictwa słów, wyciągam wspólne wzorce do kombinatorów takich jak map i fold oraz do schematów rekurencyjnych, z których Joy jest znany, utrzymując każdą definicję krótką i testowalną. Po drugie, refaktoryzacja: biorę rozwinięty skrypt Joy i przepisuję go w zdyscyplinowanym stylu bezpunktowym, aby znaczenie tkwiło w kompozycji, a nie w efektach ubocznych. Po trzecie, idea "programu jako danych": ponieważ cytaty to po prostu listy, piszę metaprogramy, które budują, analizują i przepisują inne programy oraz stosują przekształcanie terminów, aby udowodnić małe równoważności i uprościć wyrażenia.
Uczę również. Prowadzę sesje jeden na jeden i przygotowuję materiały pisemne, które prowadzą początkującego od pustego stosu do samodzielnej rekurencji, z problemami od prostych do naprawdę trudnych. Doświadczenie badawcze pozwala mi omawiać algebrę języka, jego związek z logiką kombinatoryczną oraz jak model stosu różni się od rachunku lambda.
Co otrzymujesz: skomentowany kod źródłowy, zestaw testów dla każdego słowa, krótką notatkę projektową na temat strategii kompozycji oraz zaproszenie do przeglądu i dyskusji. Za mną są lata pracy z językami konkatenacyjnymi i funkcyjnymi oraz miłość do kodu, który pozostaje mały, udowadnialny i przyjemny do czytania.
Moja praca przebiega w kilku kierunkach. Po pierwsze, rozwój od podstaw: projektuję słownictwa słów, wyciągam wspólne wzorce do kombinatorów takich jak map i fold oraz do schematów rekurencyjnych, z których Joy jest znany, utrzymując każdą definicję krótką i testowalną. Po drugie, refaktoryzacja: biorę rozwinięty skrypt Joy i przepisuję go w zdyscyplinowanym stylu bezpunktowym, aby znaczenie tkwiło w kompozycji, a nie w efektach ubocznych. Po trzecie, idea "programu jako danych": ponieważ cytaty to po prostu listy, piszę metaprogramy, które budują, analizują i przepisują inne programy oraz stosują przekształcanie terminów, aby udowodnić małe równoważności i uprościć wyrażenia.
Uczę również. Prowadzę sesje jeden na jeden i przygotowuję materiały pisemne, które prowadzą początkującego od pustego stosu do samodzielnej rekurencji, z problemami od prostych do naprawdę trudnych. Doświadczenie badawcze pozwala mi omawiać algebrę języka, jego związek z logiką kombinatoryczną oraz jak model stosu różni się od rachunku lambda.
Co otrzymujesz: skomentowany kod źródłowy, zestaw testów dla każdego słowa, krótką notatkę projektową na temat strategii kompozycji oraz zaproszenie do przeglądu i dyskusji. Za mną są lata pracy z językami konkatenacyjnymi i funkcyjnymi oraz miłość do kodu, który pozostaje mały, udowadnialny i przyjemny do czytania.