
Oleg
10.05.2018
13:23:12
аххах
классно, каждый пойнт румына автоматически стал мифом

Nikolay
10.05.2018
13:24:35

Nikolay
10.05.2018
13:25:07
билеты нужны. но там 50 евро всего билет. и их кажется уже нет

Google

Nikolay
10.05.2018
13:26:28
Эх( я тоже буду в Берлине, думал зайти

Oleg
10.05.2018
13:28:00
У кого-то открывается? http://mitigation.propensive.com/

Nikolay
10.05.2018
13:28:17
не открывается
что за новая либа?

Grigory
10.05.2018
13:29:12
Host mitigation.propensive.com not found: 3(NXDOMAIN)

Oleg
10.05.2018
13:29:14
чото там про ерроры на тотальных макросах
говорят, прекрасная либа, чтобы композить эксепшоны, и того и гляди будет scalaz ветка
А пока-что там незапублишенный экспериментальный годовалый исходник https://github.com/propensive/mitigation
Но лысый уже видит в ней спасение для композиции ерроров

Grigory
10.05.2018
13:31:12
покаж твит

Oleg
10.05.2018
13:31:18
Не хотят делать IO ковариантным по E и всё тут

Grigory
10.05.2018
13:31:22
че там лысый моду вутит

Oleg
10.05.2018
13:31:37
_The Mitigation library by Jon Pretty, based on Totalitarian, provides a convenient and powerful solution for managing sets of errors. Look for scalaz-mitigation in the near future! (Bug Jon and me about it until we do something!)_

Google

Oleg
10.05.2018
13:31:49
https://twitter.com/propensive/status/993422307388424192
У меня есть библиотека для великолепной композиции ошибок, называется компилятор скала.
Достаточно написать IO[+E и всё работает само

Nikolay
10.05.2018
13:34:09
а ваша библиотека - dog-friendly?
потому что для меня это важно

Alexander
10.05.2018
13:55:54
а почему не хотят делать ков-м?
не dog-friendly?

Oleg
10.05.2018
14:03:11
это общий тренд - убирать вариантность
хз насколько это оправдано
ты прост не трендовый парень

Alexander
10.05.2018
14:10:20
это я читал, внимательно слежу за дискуссией!

Aleksey
10.05.2018
14:37:17
Скаланы, приходите, приезжайте, прилетайте 24 мая в Екаринбург на митап https://meetup.tinkoff.ru/events/scala-russian-meetup.

Vladimir
10.05.2018
14:41:04
Блин ну давайте к нерелизнотому ио ещё добавим ненаписанную либу
А вопрос про композицию он просто проглотил. Eitherы из ошибок лепить, по бойлерплейту к фриионпдам подъедет

Р
10.05.2018
14:49:39

Vadim
10.05.2018
14:55:07
Кто здесь считает, что Scala не нужна?
А если нужна?
Короче, держите джава-дайджест, но про Скалу :)
https://jug.ru/2018/05/scala-digest-1/

Igor
10.05.2018
15:27:48
а почему не хотят делать ков-м?
в scalaz бытует мнение что ковариантность увеличивает шанс того что scalac выведет не тот тип) (опять же насколько это оправдано - хз)
тут есть немного про это https://github.com/scalaz/scalaz/issues/1671
а имплиситы с контрвариантностью вообще поломаны https://issues.scala-lang.org/browse/SI-2509

Diemust
10.05.2018
15:34:26

Александр
10.05.2018
15:40:35
Интересно что их заставило начать пушить scala, хочеться верить что прислушались к фидбеку, но скорее всего просто почувствовали кэш

Vadim
10.05.2018
15:45:37

Google

Александр
10.05.2018
15:45:53
А ты текста пишешь?

Vadim
10.05.2018
15:47:20
Угу, и олег еще помог

Alexander
10.05.2018
15:52:51
Третий день работаю со скалой, и в тупике.
Суть задачи: имеется у меня
- case class Ticker(title: String, name: String)
- List[Ticker]
- String
Каким образом можно найти вхождение Ticker.name || Ticker.title в строку и вернуть ticker.name?
Help please.

Александр
10.05.2018
15:57:06

Oleg
10.05.2018
15:58:37

Alexander
10.05.2018
15:59:09
Спасибо

M
10.05.2018
16:04:34
))
Интересно причем тут скала

Bulat
10.05.2018
16:05:13
ну вот, дал рыбу вместо удочки)

Александр
10.05.2018
17:45:26
А подскажите ссылку на чат где по скарку\хадупу чатик, а то потерял

Grigory
10.05.2018
17:46:00

Александр
10.05.2018
17:46:05

λoλcat
10.05.2018
21:36:09
Тут в твиторе пиарят новый тест фремворк от коллеги дегуза - едмунда нобеля, известного по выступлениям на многих скала конфах (см в ютубе):
https://github.com/scalaz/testz
Дока как обычно на высоте.

Блаженный
10.05.2018
23:03:12

Victor
10.05.2018
23:42:46

Alex
10.05.2018
23:43:44
https://medium.com/@CiboEng/evilplot-a-combinator-based-plotting-library-for-scala-4531f00208
https://github.com/cibotech/evilplot

Dim
10.05.2018
23:48:22
Ух тыж, а я только искал
адекватный api, все что смотрел до этого жуть жуткая, даже биндинги к jfreechart

Stanislav
10.05.2018
23:53:22
>адекватный апи
val rect = Rect(400, 400) filled RGB(83, 87, 79)
Disc(200) transX rect.extent.width filled RGB(7) behind rect

Google

Dim
10.05.2018
23:58:17
val data = Seq[Seq[Double]](
Seq(1, 2, 3),
Seq(4, 5, 6),
Seq(3, 4, 1),
Seq(2, 3, 4)
)
BarChart
.clustered(
data,
labels = Seq("one", "two", "three")
)
.title("Clustered Bar Chart Demo")
.xAxis(Seq("a", "b", "c", "d"))
.yAxis()
.frame()
.bottomLegend()
.render()
И главное доки, они есть. У большинства scala plotting-либ их либо нет, либо они не полные.

Блаженный
11.05.2018
02:38:16
Может кто обьяснить почему скала запрещает вот это:
trait Node[+B] {
def prepend(elem: B): Node[B]
}
case class ListNode[+B](h: B, t: Node[B]) extends Node[B] {
def prepend(elem: B): ListNode[B] = ListNode(elem, this)
def head: B = h
def tail: Node[B] = t
}
case class Nil[+B]() extends Node[B] {
def prepend(elem: B): ListNode[B] = ListNode(elem, this)
}
То есть оно хочет контрварианс в методах. Почему? Что мешает колу прописывать вместо соды?

Admin
ERROR: S client not available

Блаженный
11.05.2018
02:40:26
Спасибо.

Bulat
11.05.2018
03:18:47
Потому что , допустим, есть у тебя метод, который принимает Shape=>Boolean
И ты в этом методе вызываешь на этой функции func.apply(new Circle)
Если бы функция была ковариантна по аргументу, то в этот метод можно было бы передать функцию Box=>Boolean
И при попытке вызвать на этой функции apply(new Circle) получился бы какой-то еррор в рантайме
Поэтому функция контравариантна по аргументу и ковариантна по результату
Не знаю, насколько понятно вышло

Блаженный
11.05.2018
03:23:27
Вышло понятно. Где-то час назад я к этому пришёл, забыл и снова потерялся. Наверное, надо подождать пока устаканится. Спасибо большое.
Сохраню

Bulat
11.05.2018
03:24:21
Да, надо малость привыкнуть)

Блаженный
11.05.2018
03:25:06
Ну скала посложнее того же эликсира по началу. Посмотрим как дальше пойдет.

Bulat
11.05.2018
03:26:39
Там дальше боль и ужас)
Кстати, вопрос к чату: через какое время вы себя почувствовали уверенно в скале?
Я помню, как в первое время порой была паника от того, что оно не компилируется, а ты даже у Гугла не можешь спросить почему, потому что не знаешь как вопрос сформулировать

Google

Блаженный
11.05.2018
03:30:24
Хм... Я всегда считал, что если вещь не компилируется то это очень хорошо. Вот когда оно компилируется и не работает правильно, хуже всякие сегфолты и race condition, тогда беда. Но я с си начинал.

Bulat
11.05.2018
03:32:30
Не, ну это может и хорошо, что оно не компилируется. Но непонятно было тогда (да и сейчас изредка бывает) что надо сделать, чтобы оно таки собралось
Где-то через несколько месяцев только прошло, когда основные грабли изучил

Блаженный
11.05.2018
03:33:46

Bulat
11.05.2018
03:34:38
Сейчас такой ерунды уже почти нет, осталось в прошлом
Только какие-то самые частые , типа :: остались
А вообще да, скала себе кучу хейтеров заработала этими закорючками
Для многих реально это основная претензия к языку

Блаженный
11.05.2018
03:37:11
Не считаю это нечитабельным, проблема лишь в гуглении.
С чего akka начинать изучать? Просто доки?

Bulat
11.05.2018
03:38:33

Блаженный
11.05.2018
03:39:28
Ага, makefile'ы тоже хорошо написаны.

Bulat
11.05.2018
03:39:40

Блаженный
11.05.2018
03:39:42
красиво и гуглиться хорошо.

Bulat
11.05.2018
03:40:21
Там через всю книгу протягивается создание большого проекта на акке
Но лучше, конечно, акку не трогать при возможности. Портал в ад