?

Log in

No account? Create an account

Давайте познакомимся - Excelsior

Jan. 1st, 2020

12:00 am - Давайте познакомимся

Previous Entry Share

Comments:

[User Picture]
From:xeno_by
Date:October 15th, 2011 03:03 pm (UTC)
(Link)
По поводу этимологии спрошу как-нибудь у народа. Насчет ифа я подозреваю просто по инерции, зато сейчас можно сделать вот так: http://jsuereth.github.com/sips/pending/uncluttering-control.html.
(Reply) (Parent) (Thread)
[User Picture]
From:akuklev
Date:October 15th, 2011 03:05 pm (UTC)
(Link)
В этой статье предлагается тоже вот такое инерционное решение. Предлагают зачем-то делать дополнительные кейворды вместо того чтобы наоборот убирать существующие и заменять их вещами, которые можно определить средствами языка.
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 15th, 2011 03:06 pm (UTC)
(Link)
А как тогда убрать скобки вокруг условия ифа?
(Reply) (Parent) (Thread)
[User Picture]
From:akuklev
Date:October 15th, 2011 03:10 pm (UTC)
(Link)
1) А зачем их убирать? Мне они визуально очень даже нравятся.
2) Дык if просто должен принимать два аргумента: условие и значение. Как это пишется?..
def if(cond: Boolean)(x: Any): Option[Any] = old_if (cond) Some(x) else None,
или вроде того.
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 15th, 2011 03:14 pm (UTC)
(Link)
То, что надо убирать скобки, сказал Сам Мартин. Мне лично вообще без разницы =)
(Reply) (Parent) (Thread)
[User Picture]
From:akuklev
Date:October 15th, 2011 03:16 pm (UTC)
(Link)
Я весьма верю в его интуицию, он крут, но все эти промежуточные then и do терпеть ненавижу.
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 15th, 2011 03:20 pm (UTC)
(Link)
Возникает много вопросов. Не сделать ли Option[T]? Почему if без else возвращает опшен, а c else - anyval? Как сделать так, чтобы можно было написать "if (foo) bar"? Если не влом подумать над мелочами и оформить мысли в письменном виде, Скала тебя не забудет =)

Плюс, для полноты изложения, отмечу, что x должен быть by-name параметром (вроде, это записывается как x: => Any), впрочем, на смысл это не влияет.
(Reply) (Parent) (Thread)
[User Picture]
From:akuklev
Date:October 15th, 2011 03:23 pm (UTC)
(Link)
Да. Так как написано неоптимально, надо доработать. Подумаем и напишем.
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 15th, 2011 03:27 pm (UTC)
(Link)
Большое спасибо! Как раз sorhed к нам во вторник приедет на скала-митинг и толкнет идею =)
(Reply) (Parent) (Thread)
[User Picture]
From:akuklev
Date:October 15th, 2011 03:44 pm (UTC)
(Link)
Я бы как-нибудь разок тоже с огромным удовльствием заехал. Думаю, нашлось бы что обсудить. Про те же стрелки, экзотические системы типов для учитывания эффектов, экзотические системы типов, статически проверяющие корректность доступа к ресурсам и корректность multi-actor-systems, о которых я некоторое время назад пытался общаться с Пейтон-Джоунсом и МакБрайдом.
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 15th, 2011 03:50 pm (UTC)
(Link)
Дык, конечно! Всегда рады =)
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 15th, 2011 03:51 pm (UTC)
(Link)
>>экзотические системы типов для учитывания эффектов
Крайне интересно будет узнать.
(Reply) (Parent) (Thread)
[User Picture]
From:akuklev
Date:October 15th, 2011 04:02 pm (UTC)
(Link)
Есть такая статья Коннора Макбрайда "Kleisli arrows of outrageous fortune" от марта сего года, которая показывает, как интегрировать в систему типов Хоаровы тройки, мне показалось, что это прекрасный чистый способ интегрировать в типы аннотации управления ресурсами (как в языке Vault, к созданию которого приложил руку Пейтон-Джоунс). Вообще использование стрелок вместе с зависимыми/экзистенциальными типами позволяет кодировать пурым образом самые разные подходы к эффектам и контролю управлением ресурсами от легковесных до филигранных.
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 15th, 2011 03:08 pm (UTC)
(Link)
Вообще, идея хорошая, но сейчас нет возможности подумать над воплощением. Было бы круто, если бы ты запостил свои мысли в каментах к пропоузалу.
(Reply) (Parent) (Thread)