2010-11-11 8 views
13

Chcę uczyć się teorii systemów typu. Nie mam żadnego doświadczenia z teorią systemów typów, więc jestem mniej lub bardziej początkującą (z wyjątkiem artykułów, które przeczytałem na ten temat i które zastraszam z powodu użytej notacji). Jakie są dobre książki, które mogą mi pomóc? Patrzyłem na książkę "Typy i języki programowania" Benjamina C. Pierce'a. Czy jest to odpowiednie dla początkujących lub czy jest to zbyt trudne? Jeśli to zbyt trudne, co jeszcze mógłbym użyć, aby rozpocząć naukę?Książki do teorii systemów typu początkowego

Dzięki,

-

Cheers, Alex

Odpowiedz

10

myślę Rodzaje i Języki programowania będzie dobrym wyborem.

Kiedy po raz pierwszy przeczytałem TaPL, byłem również początkującym w teorii typów i nie było mi trudno to zrozumieć.

Zobaczysz wiele notacji używanych w artykułach, które widziałeś, ale notacja zostanie wyjaśniona przed jej użyciem, więc nie powinno to stanowić problemu. Naprawdę nic nie jest w stanie zastraszyć notacji, gdy już wiesz, co to znaczy .

Co często zdarza się w takich przypadkach. Czasami myślę, że większość matematyki i formalnej informatyki składa się z wymyślania przerażających wyrażeń na proste rzeczy, tak że niewykształcone masy nie zdają sobie sprawy, jak łatwo wszystko tak naprawdę jest.

+3

Wymyślanie notacji polega na tym, że nie trzeba pisać tego samego wielowyrazowego wyrażenia 100 razy w 10-stronicowym papierze, wysadzając w ten sposób do 20 lub 30 stron. Na przykład symbol "≺" oznacza "jest podtypem", 16-znakowe wyrażenie. Nie chodzi o mrok, chodzi o to, by w ogóle móc przekazać wiadomość. – Novelocrat

+2

@Novelocrat: Głównie o to żartowałem. – sepp2k

+0

Dzięki sepp2k. Żartowałem, że będę miał ochotę powiedzieć to samo :). Kupię TaPL i zacznę czytać. – Alex

4

TAPL to książka trudna do zrozumienia i przeznaczona dla absolwentów (i ewentualnie kandydatów do egzaminu). Z pewnością nie dla początkujących. Zamiast tego poleciłbym książkę "Koncepcje w programowaniu języków" Johna C. Mitchella, skierowaną do studentów, by najpierw zapoznać się z podstawami.

+0

Dzięki, ale jestem dopiero początkującym z teorią systemów typów :) Nie jestem nowicjuszem w językach programowania i zaimplementowałem swój sprawiedliwy udział w tłumaczeniach. Chodzi o to, że chcę wnieść więcej do teoretycznej strony rzeczy. – Alex

Powiązane problemy