@scala_ru

Страница 1141 из 1499
Nikolay
11.12.2017
13:53:23
интересно, появятся новые json библиотеки с альтернативным подходом с выходом dotty

Oleksandr
11.12.2017
13:53:25
Там можно по всему проекту вроде пройтись в идее
оно умеет только в "гитовых изменениях" вроде

специально, чтобы не задеть всю кодовую базу

Google
Igor
11.12.2017
13:53:48
спасибки :)

Александр
11.12.2017
14:12:53
обидно, что на проде копался и самый смак пропустил

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

Валєрій Валєрійович, сильний і умний мужичок.
11.12.2017
14:14:06
шо опять?!

A
11.12.2017
14:14:20
россия для русских, италия для итальянских!

Oleksandr
11.12.2017
14:14:30
Mikhail
11.12.2017
14:18:05
зря вы. давайте лучше про иммутабельную собаку
Считать, что собаку можно выразить в коде - заблуждение. Все что нам известно это лишь некоторые факты из прошлого о собаке на основании которых мы строим eventually consistent представление о ней

Nikolay
11.12.2017
14:18:35
согласен

Daniel
11.12.2017
14:19:06
собака и в обыденной нашей жизни лишь тень на стене

Александр
11.12.2017
14:19:52
как выглядит тень собаки когда никто не смотрит на стену ?

Kirill
11.12.2017
14:20:17
весь день разговоров о Павлове

Google
Александр
11.12.2017
14:21:21
на небе тоже

я тут по папочкам пошерстил, оказываеться что собака одно время игры стримил, но это не долго и не точно

Dmitry
11.12.2017
14:22:24
Лишь бы не камхорил

Александр
11.12.2017
14:23:25
ищущий да обрящет

Mikhail
11.12.2017
14:24:51
как выглядит тень собаки когда никто не смотрит на стену ?
Понятие "глядит" подразумевает наблюдение. Без наблюдателя собака и её тень находятся в суперпозиции состояний

Igor
11.12.2017
14:33:27
А делал ли тут кто-нибудь что-то типа языка описания запросов к произвольным данным (допустим, что нам не известен их формат, но они приводимы к json, то есть не картинки, видео, тексты сплошные, а все-таки что-то структурированное), или может быть что-то такое уже есть, спецификации там какие-нибудь?

A
11.12.2017
14:34:11
кажется ты описываешь лисп )

Igor
11.12.2017
14:41:13
ну должна быть хотя бы какая то граматика
А, туплю. Начал печатать и понял, что мне нужно. Лол. Суть в том, что разнородные данные раскидываются на коллекции, что позволяет при наличии схемы (не суть принципиально, что динамически генерируемой) использовать набор селекторов на конкретные составные части выборки. Их однородность в рамках коллекции и жесткое соответствие этой схеме позволят мне получать удовольствие (читать: не выколоть себе глаза глядя на многотомник доков) при кодинге этого треша.

KrivdaTheTriewe
11.12.2017
14:53:13
мем про собаку сюда добрался(

Павел
11.12.2017
15:22:57
Это похоже на какой нибудь graphql

KrivdaTheTriewe
11.12.2017
15:58:33
егор там ушел в терминальный экстаз

Александр
11.12.2017
15:59:54
KrivdaTheTriewe
11.12.2017
16:00:30
https://twitter.com/backendsecret

Igor
11.12.2017
16:21:54
А можете подсказать еще такой момент. Как в скале делается такая вот тема из котлина: class Builder private constructor() { constructor(init: Builder.() -> Unit): this() } т. е. DSL билдеры выполненные в Groovy-style?

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

Igor
11.12.2017
16:24:27
Подожди Scala 3.0 - все будет

Igor
11.12.2017
16:25:03
Океюшки :) То есть сейчас таких ништяков нету?

Google
Igor
11.12.2017
16:29:24
Я так понимаю, он хочет чего-то типа: html { head { title("some page") } body { div() div() } }

Oleksandr
11.12.2017
16:30:59
и это типа генерит хтмл? если да, то в скале это делается кучей способов

Igor
11.12.2017
16:31:05
что-то такое: https://gist.github.com/komigor/1277e978e0e81b92ac09630089797485

и это типа генерит хтмл? если да, то в скале это делается кучей способов
Не совсем, суть именно в неявной передаче контекста, мне это интереснее. DSL-билдер то действительно можно по-разному написать

Oleksandr
11.12.2017
16:34:04
что имеется в виду?

Alexander
11.12.2017
16:35:58
Уважаемые, а Монокль быстрее Шейплесовских линз работает?

Igor
11.12.2017
16:37:41
Минимальный пример: https://gist.github.com/komigor/1277e978e0e81b92ac09630089797485

Oleksandr
11.12.2017
16:42:35
Минимальный пример: https://gist.github.com/komigor/1277e978e0e81b92ac09630089797485
возможно, тайпклассы? trait Lol[T] class A def foo[Smth: Lol](smth: Smth) = ??? foo(new A) // compile error implicit val aLol = new Lol[A] {} foo(new A) // works, you can access instance of Lol in foo

Oleksandr
11.12.2017
16:44:20
фраза "неявной передаче контекста" прямо-таки напрашивается на использование implicit-ов :)

Igor
11.12.2017
16:51:02
это просто не совсем то, но в принципе заменить одно другим плюс-минус можно.

Oleksandr
11.12.2017
16:52:00
насколько я понял хотелку, то имплиситы предоставляют более мощный функционал, но для достижения конкретно искомой функциональности нужно немного поприседать

мб есть уже готовые сниппеты для облегчения "приседаний", хотя это не особо популярная задача в скале — дсли обычно строят иначе

Oleg
11.12.2017
16:54:28
Уважаемые, а Монокль быстрее Шейплесовских линз работает?
Не мерял, но по логике так же, или чуть медленнее

Oleksandr
11.12.2017
16:57:04
а есть ли хаки для описания "список обьектов без общего трейта, но из одного тайпкласса" ?

Alexander
11.12.2017
16:57:35
Не мерял, но по логике так же, или чуть медленнее
Ох, забыл уточнить, что речь о скорости компиляции.

Oleksandr
11.12.2017
16:58:29
trait T[W] class A class B implicit val ta = new T[A] {} implicit val tb = new T[B] {} val a1 = new A val b1 = new B def foo[W: T](ws: Seq[W]) = ??? foo(Seq(a1)) // ok foo(Seq(a1, b1)) // error, reduced to Seq[Object], no T instance

Nikolay
11.12.2017
16:58:30
в смысле в списке должны быть только объекты, для которых есть инстанс нужного тайпкласса?

Oleksandr
11.12.2017
16:58:43
Google
Oleg
11.12.2017
16:59:15
Ох, забыл уточнить, что речь о скорости компиляции.
Ох, забыл уточнить, что попробуй, но и то и другое очень быстро комплится. Не медленнее, чем куча говнокода, которая ляжет на их замену

Nikolay
11.12.2017
16:59:57
foo(Seq(a1, b1)) // error, reduced to Seq[Object], no T instance а что хотелось бы получить?

Alexander
11.12.2017
17:00:23
Ох, забыл уточнить, что попробуй, но и то и другое очень быстро комплится. Не медленнее, чем куча говнокода, которая ляжет на их замену
"Очень быстро" это "очень относительно", у меня большой класс, одна штука, компиляется две минуты.

Nikolay
11.12.2017
17:00:25
а, я понял

Oleksandr
11.12.2017
17:00:40
foo(Seq(a1, b1)) // error, reduced to Seq[Object], no T instance а что хотелось бы получить?
вызов этого метода и дальше проброс t.doAction(item)

думаю, могу слегка переделать код и избавиться от такой задачи, но интересно, реально ли так извернуться

Admin
ERROR: S client not available

Nikolay
11.12.2017
17:02:32
мне кажется можно сделать как тут https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/Show.scala

https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/Show.scala#L52

там тоже множество аргументов, для которых определен Show, и они приводятся к Shown

Diemust
11.12.2017
17:04:06
вызов этого метода и дальше проброс t.doAction(item)
Интересно, а frAction что должен принимать?

Nikolay
11.12.2017
17:04:22
в 0.9.0 попроще было кстати https://github.com/typelevel/cats/blob/v0.9.0/core/src/main/scala/cats/Show.scala

Oleg
11.12.2017
17:07:16
а есть ли хаки для описания "список обьектов без общего трейта, но из одного тайпкласса" ?
Называется existential types trait Cell[TC[_]]{ type T def instance: TC[T] val value: T } object Cell{ class Catcher[TC[_]]{ def apply[A]( x: A)(implicit inst : TC[A]) = new Cell[TC]{ type T = A def instance = inst val value = x } def apply[TC[_]] = new Catcher[TC] }

и дальше там Cell[Monoid](List(1,2,3))

Oleksandr
11.12.2017
17:09:21
Интересно, а frAction что должен принимать?
trait T[W] { def doAction(w: W) } ... implicit val ta = new T[A] { def doAction(a: A): Unit = {} } implicit val tb = new T[B] { def doAction(b: B) = println(b) } ... def foo[W](ws: Seq[W])(implicit t: T[W]) = { ws.foreach(w => t.doAction(w)) }

(в конкретных инстансах тайпкласса можно юзать классоспецифичные методы)

Diemust
11.12.2017
17:10:42
Лесу бы не написать имплисит классы тогда, которые приводят классы в списке к тому, что может сожрать трейт Т?

Oleksandr
11.12.2017
17:10:58
ну это слишком просто

Google
Oleg
11.12.2017
17:19:58
TC — он параметризован? если да, чем?
поправил(пишу с таксофона)

Oleksandr
11.12.2017
17:40:47
поправил(пишу с таксофона)
вроде распарсил если правильно все понял, то это не совсем то, что хочу — https://gist.github.com/Dveim/084091de1e98ebd980a8b7459b58281c

Oleg
11.12.2017
17:44:13
вроде распарсил если правильно все понял, то это не совсем то, что хочу — https://gist.github.com/Dveim/084091de1e98ebd980a8b7459b58281c
во-первых не Cell(List), а List(Cell, Cell)) Во вторых можно сделать материалайзер для такого боксенного значения макросом или специализировать вручную. Дело в том, что тайпкласс, содержащий метод, в котррм есть хотя бы два параметра типа T будет уже нереализуем для чистого Cell[TC]

Alexander
12.12.2017
10:36:27
юзал кто https://github.com/aws4s/aws4s ?

f1yegor
12.12.2017
11:02:30
как сказать sbt 1.0.4 какую версию scala использовать для plugins?

Alexander
12.12.2017
11:05:49
по-моему там 2.12 без вариантов, как и для самого sbt

Alexey
12.12.2017
11:06:07
выбора вроде никогда не было

Alexander
12.12.2017
11:06:24
выбор иллюзорен, как и сам выбирающий

f1yegor
12.12.2017
12:03:44
а что делать с плагинами которые под 2.12 не собраны?

Nikolay
12.12.2017
12:04:25
Использовать 0.13

Daniel
12.12.2017
12:30:18
Andriy Plokhotnyuk @plokhotnyuk 15:11 ребята, кому-нить нужен быстрый парсер и сериализатор JSON? в среднем обгоняет Jackson раза в 2, Circe раза в 4, Play-JSON раз в 8: https://github.com/plokhotnyuk/jsoniter-scala

в полку прибыло

Aleksei
12.12.2017
12:30:38
Кривда накаркал

A
12.12.2017
12:33:25
за счёт чего обгоняет то?

Denis
12.12.2017
12:33:42
хз как можно в трезвом уме сделать имя пекаджа с подчеркиванием

https://github.com/plokhotnyuk/jsoniter-scala/blob/master/core/src/main/scala/com/github/plokhotnyuk/jsoniter_scala/core/UnsafeUtils.scala

Страница 1141 из 1499