@jvmchat

Страница 943 из 2890
Dmitry
29.12.2016
11:02:51
какбе, это ж твой интерес, копни поглубже, да сделай

Руслан
29.12.2016
11:03:13
надо плагин ставить скала, нахер

Dmitry
29.12.2016
11:04:00
ну нахер так нахер.

Ivan
29.12.2016
11:04:08
слишком мощненько для сахара

Google
Ivan
29.12.2016
11:04:10
не находите?

Мытко
29.12.2016
11:04:18
Сахорок

Ivan
29.12.2016
11:05:01
лучше 50 классов наваять на java

Мытко
29.12.2016
11:05:01
Сахар это фор по коллекциям для меня

Руслан
29.12.2016
11:05:32
ну нахер так нахер.
чет ты слился

Скалисты, комон

Скомпильте ваш сахар

Dmitry
29.12.2016
11:06:00
я не слился, я потратил время, описал тебе что оно делает, а ты сразу "ну давай а теперь еще это мне сделай. и это мне сделай, а то мне лень пошевелить пальцем плагин поставить"

Мытко
29.12.2016
11:06:00
Погоди, слился ты

Dmitry
29.12.2016
11:06:16
простите, барин.

findByRefEmailCodeTypeByEmailCodeTypeCodeAndObjUserEntityAndEmailCodeValueAndEmailCodeUsedDtimeIsNullAndEmailCodeExpirationDtimeAfter(...)

%__%

Google
Aleksey
29.12.2016
11:07:06
Котоны. В википедии есть отличное определение синтаксического захара: "Это может быть любой элемент синтаксиса, который даёт программисту альтернативный способ записи уже имеющейся в языке синтаксической конструкции". Ключевой элемент в этой истории - слово "синтаксический". Патерт-матчинг Scala это не сахар над свичом, потому что имеет другую семантику. То же самое с конструкторами типов. Это не сахар над джавовыми генериками, потому что часть другой системы типов.

Dmitry
29.12.2016
11:07:17
da

Sergey
29.12.2016
11:08:55
foo[F[_], A, B](fa: F[A], flatMap: FlatMap[F], f: A => F[B]): F[B] = flatMap.flatMap(fa, f) все равно как-то сложно)

Ivan
29.12.2016
11:09:20
ну типо это вообще разные вещи

Dmitry
29.12.2016
11:10:05
foo[F[_], A, B](fa: F[A], flatMap: FlatMap[F], f: A => F[B]): F[B] = flatMap.flatMap(fa, f) все равно как-то сложно)
на самом деле нет. перечитай что я написал еще пару раз неспеша. Я специально старался не использовать какие-то термины хитрые, писал "на пальцах"

Aleksey
29.12.2016
11:10:17
Я не специалист в Котлине, но мне интнресно. Скажите, есть ли в котлине языковые фичи, которые меняли бы семантику Java (ну кроме nullable). Отличается ли система типов в Котлине от системы типов Java?

на самом деле нет. перечитай что я написал еще пару раз неспеша. Я специально старался не использовать какие-то термины хитрые, писал "на пальцах"
Да это реально сложный пример. Нужно покодить на скале плотно хотя бы полгодика, что бы начать это понимать. Ну или иметь за плечами опыт другого функционального языка.

Руслан
29.12.2016
11:11:39
yoda@ux32vd:14:11:~/Desktop$ ./scala-2.12.1/bin/scalac Scala.scala Scala.scala:1: error: expected class or object definition foo[F[_], A, B](fa: F[A], flatMap: FlatMap[F], f: A => F[B]): F[B] = flatMap.flatMap(fa, f) ^ one error found

как это скомпилить

Ivan
29.12.2016
11:11:57
но если ты не будешь в Scala использовать такие штуки то смысла юзать язык нет

Руслан
29.12.2016
11:12:28
Я не специалист в Котлине, но мне интнресно. Скажите, есть ли в котлине языковые фичи, которые меняли бы семантику Java (ну кроме nullable). Отличается ли система типов в Котлине от системы типов Java?
Ну вот ты говоришь > Патерт-матчинг Scala это не сахар над свичом, потому что имеет другую семантику. Соответсвенно > when в Kotlin это не сахар над свичом, потому что имеет другую семантику.

Ivan
29.12.2016
11:12:54
потому что будет та же Java только с сахаром

в Scala главное это система типов

Sergey
29.12.2016
11:13:03
>соответственно foo(f: Future[Integer], flatMap: FlatMap[Future], f: Integer => Future[User]) => Future[User] а что тут вообще должно произойти?

Google
Ivan
29.12.2016
11:13:07
и ты ее должен юзать на максимум

Anton
29.12.2016
11:13:31
делегаты - это не сахар?

Anvar
29.12.2016
11:13:39
началооось)

Руслан
29.12.2016
11:13:44
Я просто спрашиваю.
if/when/etc экспрешен делагаты корутины (елд, асинк)

это из самого интересного

Ivan
29.12.2016
11:14:17
Почему?
у меня есть проект на скала полностью самописный, и вот когда я его написал я понял что юзаю язык не так как надо, возможности Scala гораздо шире чем мой Java мозг понимал в тот момент когда я начинал делать порект

Aleksey
29.12.2016
11:14:18
в Scala главное это система типов
Система типов да, помогает. Но необязательно использовать типы высшего порядка у себя в коде. Пускай это будет машиненией библиотек, которые ты используюешь. А вот паттернматчинг, частично заданный функции -- это фичи на каждый день.

Руслан
29.12.2016
11:14:20
но в голове обывателя это сахар

Anton
29.12.2016
11:14:46
а мне больше всего extention methods нравятся :)

Руслан
29.12.2016
11:14:57
Sergey
29.12.2016
11:14:58
Anton
29.12.2016
11:15:08
чистый сахок)
слаааденький, няма

Руслан
29.12.2016
11:15:15
чистый сахок)
функциональные типы с ресивером?

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

Aleksey
29.12.2016
11:15:44
Sergey
29.12.2016
11:15:46
функциональные типы с ресивером?
я про то что один хрен это все под капотом статические методы

Руслан
29.12.2016
11:15:46
или котлине

Google
Anton
29.12.2016
11:16:29
на уровне байткода можно делать штучки которые невозможно сделать на уровне языка :)

Ivan
29.12.2016
11:17:25
haskell

я слушал подкаст да

Anton
29.12.2016
11:17:36
Aleksey
29.12.2016
11:18:54
а что наверху это лесницы?
Ну как раз те самые типы высшего порядка, контекст-баунды, доказательства всякие. Dotty добавит уровень зависимых типов (в своем прочтении).

Dmitry
29.12.2016
11:20:46
scala> trait FlatMap[F[_]] { def flatMap[A,B](fa: F[A], f: A => F[B]): F[B] } defined trait FlatMap scala> def foo[F[_], A, B](fa: F[A], flatMap: FlatMap[F], f: A => F[B]): F[B] = flatMap.flatMap(fa, f) foo: [F[_], A, B](fa: F[A], flatMap: FlatMap[F], f: A => F[B])F[B]

Но вообще @fomkin дело говорит

Admin
ERROR: S client not available

Dmitry
29.12.2016
11:22:24
>соответственно foo(f: Future[Integer], flatMap: FlatMap[Future], f: Integer => Future[User]) => Future[User] а что тут вообще должно произойти?
ну у тебя был какой-то фьючер интеджера, оно его преобразовало в фьючер юзера. Типа там, нашло по айдишке интеджерной в БД

Руслан
29.12.2016
11:23:28
yoda@ux32vd:14:22:~/Desktop/scala-2.12.1/bin$ cat Scala.scala trait FlatMap[F[_]] { def flatMap[A,B](fa: F[A], f: A => F[B]): F[B] } foo[F[_], A, B](fa: F[A], flatMap: FlatMap[F], f: A => F[B]): F[B] = flatMap.flatMap(fa, f) yoda@ux32vd:14:23:~/Desktop/scala-2.12.1/bin$ ./scalac Scala.scala Scala.scala:3: error: expected class or object definition foo[F[_], A, B](fa: F[A], flatMap: FlatMap[F], f: A => F[B]): F[B] = flatMap.flatMap(fa, f) ^ one error found yoda@ux32vd:14:23:~/Desktop/scala-2.12.1/bin$

у вас нельзя функцию прям в пакете написать?

Anton
29.12.2016
11:26:12
“у вас” :D

Руслан
29.12.2016
11:26:37
“у вас” :D
ой, всё ?

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

Или чтобы проверить мне нужно еще скалу выучить

Oleksandr
29.12.2016
11:28:18
все можно выразить из джавы, любую хрен в скале
вырази мне анализ кода в компайлтайме, епта

Google
Руслан
29.12.2016
11:29:06
вырази мне анализ кода в компайлтайме, епта
ну так вырази мне проверку на наллы там же, сахарок

Oleksandr
29.12.2016
11:29:24
ты с темы не сьезжай

Митко Соловец?
29.12.2016
11:29:39
пацаны

день

Oleksandr
29.12.2016
11:29:43
вот штука, которую НЕЛЬЗЯ выразить в джаве

Руслан
29.12.2016
11:29:43
я тебе контр пример привел

Митко Соловец?
29.12.2016
11:29:50
+360 сообщений с ночи

в чем прикол?

опять скотлин пиарят?

Oleksandr
29.12.2016
11:30:07
какой нафиг контрпример, почитай определение слова

Руслан
29.12.2016
11:30:12
в чем прикол?
у некоторых скалистов опять сахарок

Митко Соловец?
29.12.2016
11:30:22
день сурка

отвечаю

Руслан
29.12.2016
11:30:38
Митко Соловец?
29.12.2016
11:31:08
ну как бы я не стебал котлин, думаю все-таки там немного больше, чем просто сахар

Nikita
29.12.2016
11:32:54
> немного

Sergey
29.12.2016
11:33:07
Ну как раз те самые типы высшего порядка, контекст-баунды, доказательства всякие. Dotty добавит уровень зависимых типов (в своем прочтении).
на досуге вот смотрю твой код. реализации minmax, эвристики, или того же gameoflife выглядят прикольно, особенно когда знаешь как это делается на обычной джаве но вот одно непонятно, полотна кода в одном методе это ок? https://github.com/fomkin/korolev/blob/master/korolev/src/main/scala/korolev/Korolev.scala

Руслан
29.12.2016
11:33:13
> немного
продолжает стебать)

Митко Соловец?
29.12.2016
11:33:54
смысл спора если, scala > kotlin > java

Страница 943 из 2890