Почему среди программистов на Haskell бытует легенда, что если программа компилируется, то она верна? Почему мало смысла в споре между приверженцами статической и динамической типизации? Как превратить тип функции в теорему, а программу — в еë доказательство? Об этом и многом другом мы поговорим в мини-серии статей, посвящённой теории типов. Зачем? Когда речь заходит о типах и типизации в программировании, то в ход идут самые разные аналогии. Кто во что горазд! Типы сравнивают с наклейками на...
В своих материалах я не раз упоминал типы данных, но объяснял их лишь частично. Типы вроде бы интуитивно понятны – число это один тип, строка это другой тип, они не похожи друг на друга. Однако в то же время они довольно иллюзорны и не являются тем, чем кажутся...