metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-01-08 07:33 pm
Entry tags:

Знаете ли вы, что

Scala - это Haskell в жабьей шкуре?

Если кложура сразу видна как лисп и не совсем мейнстримный язык, то скала замаскирована жабьей шкуркой от зоркого ока менеджеров, чтобы к тому времени, как до них дойдет, во что они вляпались - было уже поздно.

Язык знатно безумный, я почти Programming in Scala дочитал. И кое-какие вещи там сильно похожи на решение некоторых проблем с наследованием и зависимостями типов друг от друга, которых мне не хватало в дельфи и дотнетах :)

[identity profile] isorecursive.livejournal.com 2013-01-09 08:12 am (UTC)(link)
Осознанием отношений порядка на типах, и, как следствие, присутствием сабтайпинга (как номинативного, так и структурного) и bounded-полиморфизма; первоклассностью модулей, и, как следствие, присутствием концепций, возникающих из косвенности типов относительно содержащих их модульных контекстов - type-members (как в некоторых ml) и path-dependent типов.

@ каким боком последняя ссылка - "использовать хаскель как джаву"?
Ну здесь я, пожалуй, слегка погорячился. Просто Вадлер как-то раз озвучил проблему, сразу же решил её на Java F-bounded полиморфизмом и паттерном Visitor, но с тех пор регулярно пишутся пейперы с какими-то мозговыносящими трюками на тайпклассах, кодированием в них частных случаев сабтайпингов и так далее.
Edited 2013-01-09 08:19 (UTC)

[identity profile] berezovsky.livejournal.com 2013-01-09 08:26 am (UTC)(link)
сколько можно править ёбаный комментарий

[identity profile] triampurum.livejournal.com 2013-01-09 08:52 am (UTC)(link)
Мне понравился подход из BETA к expression problem, 4 странички с примерами и библиографией. Суровые северные люди. http://www.daimi.au.dk/~eernst/tool07/papers/maspeghi04-ernst.pdf

[identity profile] thedeemon.livejournal.com 2013-01-09 03:41 pm (UTC)(link)
А в соседнем посте вон показывают, что от банальных null'ов избавиться не удается в скале. Some(null) - это ж курам на смех.

Expression Problem - классическая задачка, она на каких только языках не решалась. То, что одна из ранних попыток была на псевдоджаве, не делает другие попытки ее имитацией, конечно же.

[identity profile] isorecursive.livejournal.com 2013-01-09 05:56 pm (UTC)(link)
Это, конечно, проблема, но другого уровня, и, во-первых, Null (1 и 2) и NotNull (1 и 2), во-вторых, Just undefined, Just (fix id).

[identity profile] thesz.livejournal.com 2013-01-09 06:51 pm (UTC)(link)
>Just undefined, Just (fix id).

В Scala они ловятся типизацией?.. 8O

[identity profile] golikov konstantine (from livejournal.com) 2013-01-09 09:00 pm (UTC)(link)
String with NotNull кстати не даст ли кучу анонимных классов?