metaclass: (Default)
[personal profile] metaclass
Scala - это Haskell в жабьей шкуре?

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

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

Date: 2013-01-09 06:19 pm (UTC)
From: [identity profile] isorecursive.livejournal.com
Смотря каких. Например, типизация сдвигов в delimited-продолжениях есть.
А IO и ST нету, но если говорить о хаскеле, то такого как там не сильно и хочется.
Неразглаживаемый из выражений (>>=) - это очень и очень неудобно. Ну кому приятно постоянно писать
x <- a n
y <- a k
if (x `op` y)
  a j =: z

вместо
if (a n `op` a k)
  a j =: z

Date: 2013-01-09 06:42 pm (UTC)
From: [identity profile] thesz.livejournal.com
>if (a n `op` a k)

Я от такого отказался, когда мне было 23 года. 18 лет тому назад.

Это натурально неудобно при отладке и рассуждениях о программе.

Плюс, вы не знаете про ifThenElse.

Date: 2013-01-09 06:47 pm (UTC)
From: [identity profile] isorecursive.livejournal.com
Под "a n" я подразумевал всего-лишь взятие элемента массива в ST.

Date: 2013-01-09 07:30 pm (UTC)
From: [identity profile] thesz.livejournal.com
Это вообще делается комбинаторами, если часто делается.

Не забывайте, Хаскель ленивый по умолчанию. Поэтому гораздо более ссылочно прозрачный, чем Scala.

Date: 2013-01-09 06:43 pm (UTC)
From: [identity profile] thesz.livejournal.com
А, и внутри STM можно удалить файл.

Так что нет типизации эффектов в Скале, нету. Нетуточки.

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 Oct. 7th, 2025 06:17 pm
Powered by Dreamwidth Studios