metaclass: (Default)
[personal profile] metaclass
http://overwatering.org/blog/2013/12/scala-1-star-would-not-program-again/
Язык с нормальным балансом статических проверок типов и динамической типизации вида "нахрен объекты, используем мапы" наверно, еще не скоро появится.

Date: 2013-12-03 07:29 am (UTC)
From: [identity profile] jakobz.livejournal.com
А как оно на практике? Мне не очень понятно как такая штука может нормально работать в языке с let-it-crash философией. Как определить специально в конкретной строчке собираются упасть или нет?

Date: 2013-12-03 08:12 am (UTC)
From: [identity profile] zerthurd.livejournal.com
Типизация имеет такое же отношение к let-it-crash, как и к чтению из TCP. Как определить специально в конкретной строчке собираются прочесть 0x14 или 0x88?

Date: 2013-12-03 08:15 am (UTC)
From: [identity profile] zerthurd.livejournal.com
А диалайзер на практике используется очень хорошо. Определяешь функцию, и если захотел её усилить типами, пишешь тайпспеку. Диалайзер может сам вывести тип для локальных функций, а можно ему подсказать, если функция внешняя и диалайзер не знает, как её будут использовать. Сначала диалайзер делает plt-файл, куда включаются все зависимости, которые не будут меняться в коде, это занимает достаточно много времени, несколько минут. Потом его можно быстро запускать после каждой компиляции или перед коммитом и он показывает несоответствия типов.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 17th, 2025 08:54 am
Powered by Dreamwidth Studios