
Aleksei
20.12.2017
16:58:50

Nick
20.12.2017
17:00:32

Vadim
20.12.2017
17:02:42
рили зачем затирать, как мне жить без знания что же там произошло

Александр
20.12.2017
17:07:10
надеюсь на светскую хронику в Скалалазе

Google

Oleg
20.12.2017
17:19:13
Мне кажется, или люди начали ливать из чата?

Andrey
20.12.2017
17:22:36

Aleksey
20.12.2017
17:23:23

Nick
20.12.2017
17:23:29
@fomkin релакс, а то мы скатимся, как и сообщество в Европке

sherzod
20.12.2017
17:27:46
991 точка стабилизации, вроде максимум был 996. Только не пойму как можно ливнуть без нотиса в чате.

Александр
20.12.2017
17:28:02
кикают может

Nick
20.12.2017
17:28:32
не забывайте, что хватает и всяких спамботов

KrivdaTheTriewe
20.12.2017
18:02:09

Grigory
20.12.2017
18:40:36

Bulat
21.12.2017
03:22:51

Oli
21.12.2017
04:19:30
Все правильно говорит

Google

Aleksei
21.12.2017
04:20:12

Oli
21.12.2017
04:22:48
Чейто? Ничего такого я не писала

Aleksey
21.12.2017
05:02:19
Все правда.

Alexandra
21.12.2017
05:41:02
ребят, хэлп
написать функцию произведения элементов списка в виде хвостовой рекурсии
вот что написали:
def foldLeft[A, B](seq: Seq[A], z: B)(f: (B, A) => B): B =
seq match {
case Nil => z
case x :: xs => foldLeft(xs, f(z, x))(f)
}
Сверху задание
правильно ли я поняла и сделала?

Aleksei
21.12.2017
05:45:05
по крайней мере работает

Friedrich
21.12.2017
05:45:57
А где произведение?

Aleksei
21.12.2017
05:46:01
ну вообще да, но чтобы прямо точно хвостовая была там вроде ж надо аннотацию поставить типа @tailrec

Friedrich
21.12.2017
05:46:41
Мне кажется, что решена более общая задача, нежели была поставлена.

Aleksei
21.12.2017
05:46:42
генерализировано произведение, вторые скобки как раз таки функция, можно что угодно подставить

Friedrich
21.12.2017
05:47:27

_
21.12.2017
05:47:35

Alex
21.12.2017
05:47:39

Aleksei
21.12.2017
05:51:31
нет, не надо.
ну давай, расскажи поясни, чот как то а то трольно смотрится

Friedrich
21.12.2017
05:52:11
Без @tailrec компилятор просто не будет проверять, вышла ли хвостовая рекурсия. А делать её будет так же. Вроде бы.

Aleksey
21.12.2017
05:52:36

Alex
21.12.2017
05:52:44
да, сгенерит ворнинг при компиляции, если не сможет оптимизировать вызов

Friedrich
21.12.2017
05:52:48
Ну т.е. это assertion, который в данном случае был бы полезен.

Google

Friedrich
21.12.2017
05:53:00
Но не обязательное условие, да.

Alex
21.12.2017
05:53:04
полезен, но не обязателен

Aleksei
21.12.2017
05:54:28
просто по сигнатуре не очень понятно, опять же final нет, поэтому я бы поставил тут аннотацию

Grigory
21.12.2017
05:55:37
да короче верно написана функция я хз чо вы развели тут. свертка как свертка

Alexandra
21.12.2017
05:55:58
спасибо))

Daniel
21.12.2017
05:58:00

Oleg
21.12.2017
06:45:18
Полон чат админов - белых рыцарей

Aleksey
21.12.2017
06:46:07

Grigory
21.12.2017
06:46:22
расист!
а в какой период истории были не белые (политкорреткность простите)?

Aleksey
21.12.2017
06:47:26

Oleg
21.12.2017
06:49:44
Но вообще код неверный. Аргумент - collection.Seq, если на вход поступит Vector, а то и mutable.Buffer будет MatchError
Ну и вообще нужно было объяснить девушке, что нужно объявить Recursive[List] и выразить foldLeft как cata

Oleg
21.12.2017
06:58:03

Grigory
21.12.2017
06:58:44

Kirill
21.12.2017
07:07:34
Ну вот, видите, можно новичков троллить в лоб, тупо, а можно элегантно, как Олег

Aleksey
21.12.2017
07:08:40
А можно не троллить.

Daniel
21.12.2017
07:08:42

Grigory
21.12.2017
07:09:01

Daniel
21.12.2017
07:09:09

Kirill
21.12.2017
07:09:14

Google

Grigory
21.12.2017
07:09:21
уже нет
история идет по пятам; но спасибо за инфу
теперь не потроллить спрингами ):

Daniel
21.12.2017
07:09:44

Alexey
21.12.2017
07:09:45
Как ты теперь без спринга

Grigory
21.12.2017
07:09:58

Daniel
21.12.2017
07:10:17

Admin
ERROR: S client not available

Oleg
21.12.2017
07:10:53

Kirill
21.12.2017
07:11:20

Daniel
21.12.2017
07:11:50

Oleg
21.12.2017
07:11:50

Kirill
21.12.2017
07:12:26

Daniel
21.12.2017
07:12:26

Kirill
21.12.2017
07:13:12
То емаксер, который нах посылает, то сейчас какой-то чувак который рассказывает, что такое О большое, познавательный контент

Vladimir
21.12.2017
07:35:14

Grigory
21.12.2017
07:42:45

Michael
21.12.2017
09:12:15
Господа, вопрос по плею.
Пишу библиотечку, с зависимостью от плея, которая должна работать в проектах на play 2.5 и 2.6. Возможно ли как-то грамотно это организовать?

Andrey
21.12.2017
09:19:01
Когда библиотечка зависит от крупного фреймворка, это уже не библиотечка)

Kirill
21.12.2017
09:19:17
библиотечище

Michael
21.12.2017
09:21:58
по делу будет?

Google

Grigory
21.12.2017
09:22:05
дык плей не очень монолит уже; или все еще монолит?

Michael
21.12.2017
09:22:22
новый не монолит, но старый все еще монолит
я спрашиваю - возможно ли вообще написать библиотеку, которая бы работала и там и там?

Grigory
21.12.2017
09:22:48
по делу будет?
тут проблема с версиями. а джарнике те надо уметь обращаться к двум версиям либ
как вариант попробовать предусмотреть прослойку которая будет свитчиться

Michael
21.12.2017
09:22:59
или если вы знаете примеры таких библиотек, скажите название, я буду ковырять
> как вариант попробовать предусмотреть прослойку которая будет свитчиться
интересная идея. Надо подумать

Grigory
21.12.2017
09:24:59
https://github.com/datastax/java-driver/blob/3.3.x/driver-core/src/main/java/com/datastax/driver/core/GuavaCompatibility.java#L130-L141
в общем случае не решабельная (ну или тяжело решабельная) проблема
зависит сколько поломано было между версиями и какой апи используется

Michael
21.12.2017
09:36:36
Спасибо!

Nikolay
21.12.2017
09:46:28
кто-нибудь triplequote hydra пробовал?

Michael
21.12.2017
09:51:09

Vadim
21.12.2017
09:58:32

Nikolay
21.12.2017
09:59:28
все так же супер секретно, но можно попросить early access preview на их сайте

Nikita
21.12.2017
10:16:14

Oleg
21.12.2017
10:21:48
Пишешь весь версионно - независимый код в одном модуле, версионно- зависимые в отдельных модулях с соотв. зависимостями.
Паблишь каждый раз оба модуля с постфиксами типа "0.0.1-2.5", "0.0.1-2.6"

Nikolay
21.12.2017
10:24:52