@scala_ru

Страница 513 из 1499
Oleg
21.02.2017
08:11:07
и везде есть один набор гарантий и одно понимание, что есть Foldable. Не настолько сложная абстракция

и здесь такой же https://github.com/purescript/purescript-foldable-traversable

Приведи пример, где Foldable слабее

Где эта вселенная?

Google
Mikhail
21.02.2017
08:13:48
Приведи пример, где Foldable слабее
где в твоей хаскельной вселенной итерабл?

Oleg
21.02.2017
08:14:04
в хаскельной вселенной Foldable и есть Iterable

просто это один класс с одним обязательным методом на выбор, а не два интерфейса с тремя, как в ООП, поэтому абстракция проще выглядит

Mikhail
21.02.2017
08:21:42
в хаскельной вселенной Foldable и есть Iterable
это ты сам придумал? https://hackage.haskell.org/package/iterable-3.0/docs/Data-Iterable.html в хаскеле действительно бедный итерабл, вся концепция которого ограничивается наличием сайза, фолда и мапа(внезапно - это уже говорит о том, что фолдабл не равномощен итераблу даже в хаскеле) - остается только посочувствовать тем кому приходится часто есть кактусы. однако мне не понятно, почему ты считаешь, что итерация(и траверсинг - как частный случай однонаправленной итерации без остановок) и аггрегация (и фолд как частная реализация) - есть одно и тоже

Oleg
21.02.2017
08:24:17
траверсинг в FP это не однонаправленная итерация без остановок, это способность коллекции восстановить свою структуру, собрав эффект во время восстановления

а считаю я потому что однопоточная Аггрегация и Итерация равносильны в случае существования ленивых вычислений

Mikhail
21.02.2017
08:27:48
https://hackage.haskell.org/package/base-4.9.1.0/docs/Data-Traversable.html

Oleg
21.02.2017
08:27:52
и показал это в сброшенном тобой исходнике. Если у тебя есть контрпример

Mikhail
21.02.2017
08:27:53
Class of data structures that can be traversed from left to right, performing an action on each element.

Mikhail
21.02.2017
08:30:20
и даже после этого ты продолжаешь считать, что я не прав в "траверсинг - есть частный случай однонаправленной итерации без остановок", и что в траверсинг заложено нечто большее нежели то, что указано в предложении "Class of data structures that can be traversed from left to right, performing an action on each element." ?

Google
Mikhail
21.02.2017
08:30:27
ну мне пожалуй нечего добавить)

Oleg
21.02.2017
08:36:57
и даже после этого ты продолжаешь считать, что я не прав в "траверсинг - есть частный случай однонаправленной итерации без остановок", и что в траверсинг заложено нечто большее нежели то, что указано в предложении "Class of data structures that can be traversed from left to right, performing an action on each element." ?
несомненно, ведь ты скинул ссылки на определения, на которых основываются мои утверждения твои рассуждения содержат ряд слов, применяющихся в отличающемся смысле в Haskell, всё сегодняшнее утро я был мотивирован именно желанием объяснить этот смысл "обход структуры данных" означает именно способность понять её внутрееннее устройство, гораздо больше, чем просто получить элементы "действие" означает некий эффект. Этот "action" употребляется совсем не в том смысле, как side-effective вызов в ООП, а именно последовательное накопление эффекта в более абстрактном смысле "остановка" легко делается в случае лениво-устроенных структур, поэтому ни у Foldable. ни у Traversable нет обазательства "без остановки"

к примеру функция elem здесь https://hackage.haskell.org/package/base-4.9.1.0/docs/Data-Foldable.html

она несомненно "остановится", когда найдёт первый подходящий элемент

вот пример того, что она может найти элемент в бесконечном списке http://codepad.org/cxFh7RKW

Nikolay
21.02.2017
15:02:06
https://www.owcdigital.com/DEC/?utm_source=google&utm_campaign=projectranger&utm_medium=banner&gclid=CK_WmdaRodICFQlkGQodHVQKuw - это шутка...или нет?

Denis
21.02.2017
15:05:57
DAFUQ!!?

Кастомный апгрейд прошки?

Nikolay
21.02.2017
15:06:53
вроде как да

не понимаю

это супер-донгл, который позволяет тебе превратить макбук 2016 года в макбук толщины 2012 года



Sergey
21.02.2017
15:08:36
фьючеры и таски в скале работают как корутины?

Nikolay
21.02.2017
15:08:42
судя по картинке слева - подключается он в один из usb портов

Sergey
21.02.2017
15:09:18
да не, просто интересуюсь

Oleg
21.02.2017
15:33:39
фьючеры и таски в скале работают как корутины?
нет, фьючеры работают как таски, а таски как таски

Nikolay
21.02.2017
15:34:14
но таски не работают как фьючеры

Oleg
21.02.2017
15:36:07
с другой стороны, если бы в скале какой-то обкуренный человек решил попробовать со всеми десятками реактивных стримов в скале конкурировать корутинами

они бы работали как таски

Google
Oleg
21.02.2017
15:36:52
и даже в котлине они работают как таски

Sergey
21.02.2017
15:58:19
ну таски же в одном потоке выполняются с переключениями контекста?

или ForkJoinPool и поехали?

Alex
21.02.2017
16:18:43
там M:N вроде

@notxcain конкурент либератору https://github.com/47deg/freestyle

Denis
21.02.2017
16:25:01
Да знаком )

Oleg
21.02.2017
16:40:50
Только непонятно. Вроде бы Coproduct в реализации @module можно было бы заменить на sealed trait со сгенерированными вручную Inject, или нет?

Или вообще обойтись затеганными типами

Nikolay
21.02.2017
19:14:44
Oleg
21.02.2017
19:55:33
затеганные типы - это @@ ?
ну да, что-то вроде AnyRef with ThisModule

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

Oleg
21.02.2017
19:58:11
Это помогло бы избежать сотни слоёв Coproduct(Left(Coproduct(Right(Coproduct(Left( ...

Nikolay
21.02.2017
20:00:05
а можно кстати как-то сохранить тег, когда передаешь такой тип в какую-то общую функцию? например val password: String @@ Secret = "123god" def foo(s: String): String = ???

Nikolay
21.02.2017
20:01:02
то есть его везде протаскивать нужно, либо заново оборачивать

Oleg
21.02.2017
20:01:24
а его нигде протаскивать не нужно

за пределами Free он бессмысленнен

Nikolay
21.02.2017
20:02:04
не, я не про использование в Free, а вообще

Oleg
21.02.2017
20:02:41
а вообще - теги для того и сделаны, что в рантайме они невидимы, потому и бесплатны

Google
Nikolay
21.02.2017
20:03:56
я думал что их можно типа как measures из f# использовать

но видимо нет

Oleg
21.02.2017
20:04:57
в дотнете другая система дженериков, без стирания, поэтому и HKP никак не приделают

Nikolay
21.02.2017
23:05:56
techie - это типа как groupie?

Vladimir
22.02.2017
07:47:29
scala.util.matching.Regex.MatchData /** The matched string in group `i`, * or `null` if nothing was matched. */ def group(i: Int): String = if (start(i) >= 0) source.subSequence(start(i), end(i)).toString else null

криваярожа.жпг

Denis
22.02.2017
07:48:23
что же с нами стало.пнг

.
22.02.2017
07:57:06
эээ а зачем так?

Admin
ERROR: S client not available

.
22.02.2017
07:57:13
т.е. в этом есть какой-то сакральный смысл?

Nick
22.02.2017
09:06:31
https://github.com/scalameta/scalameta/blob/master/changelog/1.6.0.md

Denis
22.02.2017
09:15:19
Our compiler plugins are built against most recent minor versions of supported Scala series (at the time of writing, this is _2.11.8 and _2.12.1) paradise на 2.12.х завезли, я правильно понял?

Oleg
22.02.2017
09:17:21
на централе пока 2.1.0 https://mvnrepository.com/artifact/org.scalamacros/paradise_2.12.1

здесь вроде написано scalas 2.12.1

https://bintray.com/scalameta/maven/paradise/3.0.0-174

Denis
22.02.2017
10:19:19
Проголосуйте плиз https://twitter.com/notxcain/status/834328285274394624

Nikita
22.02.2017
10:20:34
@notxcain хорошо бы еще вариант с plain future

Oleg
22.02.2017
10:45:09
scala.concurrent.Future это прям совсем не plain

Google
Юрий
22.02.2017
10:46:14
scala.concurrent.Future это прям совсем не plain
В контексте скала это plain

Oleg
22.02.2017
10:46:31
В контексте скала это plain
standard или default, но не plain

Юрий
22.02.2017
10:47:00
а, ну с этой стороны может быть и так

Valera
22.02.2017
10:51:03
Ребята, кто работал со Spark, подскажите пожалуйста Есть утилита spark-submit у которой есть ключ --packages Comma-separated list of maven coordinates of jars to include on the driver and executor classpaths. Will search the local maven repo, then maven central and any additional remote repositories given by --repositories. The format for the coordinates should be groupId:artifactId:version. Также есть две библиотеки com.github.nscala-time:nscala-time_2.11:2.16.0 и datastax:spark-cassandra-connector:2.0.0-RC1-s_2.11 судя доке нужно сделать так: spark-submit --class "super.puper.CrazyApp" \ --packages com.github.nscala-time:nscala-time_2.11:2.16.0, datastax:spark-cassandra-connector:2.0.0-RC1-s_2.11 \ --master local[4] \ target/scala-2.11/mycrazyapp_2.11-1.0.jar но это не прокатывает, при чём ругается на отсутвие майн-класса (java.lang.ClassNotFoundException: super.puper.CrazyApp), он точно есть если оставить только одну из библиотеку, например так --packages com.github.nscala-time:nscala-time_2.11:2.16.0 \ и закоментить использование второй в коде - всё отлично работает и наоборот если сделать тоже самое но с другой бибилиотекой, то всё будет хорошо Внимание, знатоки, теперь вопрос: что я делаю не так?

KrivdaTheTriewe
22.02.2017
10:55:51
Вопросом на вопрос, а работает ли если собрать проект с необходимыми джарками?

Grigory
22.02.2017
10:55:57
1. принципиально в жирный джарник эти билиотеки не включены? 2. скорее всего что-то другое ломается (?) любая вторая библиооетка такое вызывает или только кассандра коннектор?

Grigory
22.02.2017
10:57:42
3. попробуй пробел убрать у запятой :D с --jars у меня иногда были пробелмы изза пробела.

или же наоборот, вместо запятой там надо использовать пробел; не помню

Какой же он глючный :(
? O: нормальный)

кстате там у спарка новый флаг заметил; повзоляет использовать зависимости из пользовательского джарника вместо дергания их из класспафа

или же наоборот, вместо запятой там надо использовать пробел; не помню
через запятую, между запятыми не надо пробелов* проверил.

KrivdaTheTriewe
22.02.2017
11:00:48
Я так решил json4s использовать :)

Grigory
22.02.2017
11:01:24
ну в рантайме оно падает потому что спарк по дефолту используют зависимости из своего класпафа

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

Oleg
22.02.2017
11:02:28
https://github.com/saurfang/sbt-spark-submit ?

KrivdaTheTriewe
22.02.2017
11:03:05
Ну я понимаю , что руки кривые у меня :) но когда пишешь что-то не всегда помнишь , что там у Спарка в зависимостях

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