Lambda Meetup / Veljača 2018.

Uloga tipova u programiranju

Jedan od izazova u razvoju softvera je određivanje svojstva koja želimo da softver ima. U kompajliranim programskim jezicima kompajler i statički tipski sustav automatski daju neka svojstva programima. Tako kompajler prijavljuje grešku u programu u kojem se brojčana vrijednost pokuša staviti na mjesto znakovnog niza. U ovom izlaganju ću motivirati korištenje tipova u programiranju s ciljem davanja dodatnih svojstava programu i smanjenja količine logičkih grešaka. Brojne logičke greške svest ću na greške u kompajliranju. Na primjer, stanja sustava i pripadni protokol moguće je zapisati na razini tipova pa program koji ne slijedi protokol neće biti moguće uredno kompajlirati. Primjeri će biti u Idrisu, a gdje je moguće i u Haskellu i Scali.

više