O usłudze
PrzetłumaczoneRozwijam i weryfikuję programy w Agda — zależnym typowo języku funkcyjnym, który jednocześnie jest asystentem dowodów. Jeśli potrzebujesz programu, którego poprawność sprawdza kompilator, zamiast liczyć na to, że testy to wychwycą, mogę pomóc. Zajmuję się wszystkim, od małych zweryfikowanych struktur danych po pełne formalne rozwinięcia, w których każdy inwariant jest dowodzony na poziomie typów. Koduję specyfikację jako typ, a następnie pozwalam, aby sprawdzacz typów wymusił, aby implementacja pasowała, więc całe klasy błędów po prostu nie kompilują się. Typowe wyniki: zweryfikowane algorytmy z dowodami zakończenia i poprawności, formalizacje struktur matematycznych, zależne typowo analizatory i interpretery, modele protokołów i reguł biznesowych sprawdzane maszynowo. Pracuję płynnie z indeksowanymi typami danych, typami sigma i pi, równością propozycyjną, rekurencją dobrze ugruntowaną oraz standardową biblioteką. Tłumaczę nieformalne rozumowanie na papierze na w pełni sprawdzone moduły Agda. Poza pisaniem kodu uczę teorii typów: sesje jeden na jeden na temat korespondencji Curry'ego-Howarda, rodzin indukcyjnych, zależnego dopasowywania wzorców i myślenia w dowodach zamiast testów. Każdy projekt zawiera czysty skomentowany kod źródłowy, który przechodzi sprawdzanie typów od podstaw, krótką notatkę na temat kluczowych lem, oraz kontakt dla twojego zespołu. Szczerze wyjaśniam kompromisy, w tym kiedy lżejsze podejście w innym narzędziu lepiej ci odpowiada.