
Oleg
16.03.2017
14:14:19
Bernal ???
или хотя бы withIndex
https://scalafiddle.io/sf/nURwxPA/1

Alexander
16.03.2017
14:21:47

Oleg
16.03.2017
14:41:40
я сам этот сайт терпеть не могу за офигенный респонсив дизайн

Google

Oleg
16.03.2017
14:42:23
вот код оттуда
import cats._
import cats.data.{NonEmptyVector, State}
import cats.syntax.traverse._
import cats.instances.option._
import State.{set, get}
def zipWithIndex[F[_] : Traverse, A](xs: F[A]): F[(A, Int)] = {
def indexStep(x: A): State[Int, (A, Int)] = for {
idx ← get
_ ← set(idx + 1)
} yield (x, idx)
xs.traverseU(indexStep).runA(0).value
}
println(zipWithIndex(NonEmptyVector(4, Vector(5, 6))))
println(zipWithIndex(Option(4)))
в 2.12 c partial unification можно просто .traverse

Oleksandr
16.03.2017
14:55:01
допустим, что мне надо часто прыгать по далеким гитовым веткам, и чего-то там делать
каждый раз все компилится с нуля, чего я не хочу
мб можно анигнорнуть какие-то артėфакты билда, чтобы ускорить процесс?
"далекие ветки" -- один и тот же проект, разбить на несколько нельзя

Vadim
16.03.2017
15:05:03
2 и более локальных репо

Oleksandr
16.03.2017
15:08:27
ну вот это как раз не вариант
хотелось (в идеале) иметь один файл со всем-всем стейтом от sbt/scalaс, и его шарить в гите
мб кто слышал про обсуждения на эту тему, идея-то несложная

Oleg
16.03.2017
15:30:20
мб кто слышал про обсуждения на эту тему, идея-то несложная
когда-то был вот такой доклад https://www.youtube.com/watch?v=WxyyJyB_Ssc
суть в том, что в текущем компиляторе стейт мутабельный, каждый этап компиляции что-то мутирует и для частично изменившихся исходников \зависимостей придётся большую часть запускать с нуля. А в дотти, они, вроде навернули подходящую архитектуру
Т.е. набор функциональных зависимостей между иммутабельными суб-стейтами, которые можно куда-то заперсистить в теории

Oleksandr
16.03.2017
15:31:52
опа, от самого Мартина, интересно, спасибо
я примерно представляю, сколько тут проблем будет, но и профит для скалы (с её скоростью компиляции) огромен

Vadim
16.03.2017
15:33:21
https://github.com/scalameta/sbt-semantic-example/blob/master/README.md

Google

Oleksandr
16.03.2017
15:33:44

Oleg
16.03.2017
15:33:49
Архитектура такая, в основном была сделана для супер-эфективного кеширования, но в качестве побочных плюсов может поддерживать общение с приложениями a-la language server protocol, персистентность, и параллельные\многосерверные билды

Oleksandr
16.03.2017
15:35:21
звучит вкусно, верим и ждем

Mikhail
16.03.2017
15:38:10

Oleksandr
16.03.2017
15:39:34

Mikhail
16.03.2017
15:40:58

Oleksandr
16.03.2017
15:42:45
вариант, но не подойдет к моему случаю -- ветки содержат примерно одни и те же файлы, в почти той же файловой структуре

Mikhail
16.03.2017
15:43:53
у тебя в гите открыто в один момент времени только один вариант фс. не важно насколько он похож на другой. с разными папками ты делаешь абсолютно тоже самое - изменяешь, коммитишь, апишь в соседней ветке вместо смены - и не бьется кеш сбт

Oleksandr
16.03.2017
15:46:23
типа project_folder1/2/3... ?

Mikhail
16.03.2017
15:49:35
представь два человека за столом - каждый со своим монитором. один у себя делает чекаут одной ветки. второй делает чекаут другой ветки и оба рядышком работают, каждый со своей веткой, но на разных машинах - это ничем не отличается от того, чтобы делать тоже самое на одном компутере но в разные папки. и ничем (кроме пуша если нужен синк) не отличается от смены веток, разве что смену делать не надо
причем пушить необязательно на центральный сервер. можно и в локальную репу пушить
когда работаешь с очень большим проектом и часто нужно разные ветки - то это вполне себе выход, если конечно не запутаешься) смотря что важнее - чашу весов балансируешь исходя из нужд и профита)

Oleksandr
16.03.2017
15:53:54
угу, наконец-то дошло :)
интересный подход, попробую, спасибо

Vadim
16.03.2017
16:02:52
Я так часто делаю на основных проектах. У гита свежего есть особый чекаут ветки в отдельную директорию

Oleg
16.03.2017
16:04:39

Mikhail
16.03.2017
16:06:25

folex
16.03.2017
16:22:22

Nikolay
16.03.2017
17:48:49
https://erikbern.com/2017/03/15/the-eigenvector-of-why-we-moved-from-language-x-to-language-y.html

Aleksei
16.03.2017
17:51:35
лол со скалы больше всего на яву

Google

Aleksei
16.03.2017
17:52:08
это что то из области девиантного поведения

Mikhail
16.03.2017
17:59:05
http://stackoverflow.com/questions/6270193/multiple-working-directories-with-git

Alex
16.03.2017
18:00:14

Oleg
16.03.2017
18:02:24
Тут просто легче всего прыгать туда-обратно.

Oleksandr
16.03.2017
18:03:31
там не учитываются оставшиеся и молчуны => нерепрезентативно

Oleg
16.03.2017
18:05:06

Vadim
16.03.2017
18:05:07

Daniel
16.03.2017
18:06:48
тут не учитывается квалификация качующих
помню популистскую статью от гоферов как они боролись с большой нагрузкой и героически с великой мудростью справились
суть сводилась к тому что архитектор не знал что такое потоки в операционной системе

Sergey
16.03.2017
18:08:20
так похоже на гоферов
пхпшник бывший 100%
благо эти олени ушли на го кодить

Mikhail
16.03.2017
18:24:00

Sergey
16.03.2017
18:24:27
в этом и посыл. пусть они гавняют на го, чем делают гавно из пхп)

Daniel
16.03.2017
18:40:54
%) сколько эмоций то

Sergey
16.03.2017
18:46:35
накипело))

KrivdaTheTriewe
16.03.2017
18:56:06

Nick
16.03.2017
19:26:37
В гошечке ж корутины. Зачем знать о потоках)

Denis
16.03.2017
19:30:08
Народ, а кто-нить пробовал штанишки?
http://www.pantsbuild.org/
Интересно как оно со скалой и шаред-кешом компиляции

Google

Sergey
16.03.2017
19:30:17

Denis
16.03.2017
19:31:17
ИНтересно прям вот в отзывах пишут
"Scala compilation is notoriously slow, making build times prohibitively long at scale. Pants' fine-grained dependency management and robust shared build cache helped us shrink build times and increase productivity despite the fast growth of our codebase. Its modularity and extensibility made it easy for us to add custom build steps, such as code generation, and to reason programmatically about dependencies. Pants has proven to be a core part of a powerful toolchain that has scaled up well with our codebase." -- Benjy Weinberger, Foursquare

Alex
16.03.2017
19:51:29
про штаны я только слышал один раз на скаладейзе на докладе йокоты про сбт 1.0
было это кстати полтора года назад а воз и ныне там
интересно хоть в этом году 1.0 порелизят

Nikolay
16.03.2017
19:53:51

Alex
16.03.2017
19:54:48
http://eed3si9n.com/sbt-1-roadmap
There’s sbt/io, sbt/util, sbt/librarymanagement, sbt/incrementalcompiler already. Given that the incremental compiler is probably the most complex aspect of sbt at least in terms of implementation, that has been our focus on modularization. When we’re comfortable with all the module APIs being stable, that’s when we can put 1.0 on sbt itself.

Admin
ERROR: S client not available

Alex
16.03.2017
19:55:24
судя по коммитам, "мы" это сам йокота и есть :) а учитывая традиционный японский перфекционизм..

Nick
16.03.2017
20:03:36
Там два с половиной калеки

Юрий
17.03.2017
02:13:48
там же вроде целая команда была, не?

Vyatcheslav
17.03.2017
03:46:50
на докладе с ним еще 1 чувак выступал, это точно

Baruch
17.03.2017
03:48:27
о, штаны :) штаны прикольные.

Alexandr
17.03.2017
08:53:27
Автозамены... и выключить жалко, и иногда так "помогают".

Baruch
17.03.2017
10:33:42

folex
17.03.2017
11:13:26
Знает ли кто-нибуь крупные годные продакшн-проекты на ScalaJS? Или может быть у вас такой есть, и вы буквально пару слов про него сказать/дать ссылку?
Вот тут http://www.scala-js.org/community/ только seventh sense серьезно выглядит, и то там написано "legacy application".

Nikolay
17.03.2017
11:17:56
http://www.fluentcode.com/ как я понял
автор Li Haoyi

Google

Nikolay
17.03.2017
11:19:29
> The world's fastest online code explorer
хм
https://scala.fluentcode.com/source/sbt/1.0.x/1.0.x/notes/0.13.11.markdown

Stanislav
17.03.2017
11:20:31
есть расширение для браузера, приложение оффлайн розницы. - https://chrome.google.com/webstore/detail/%D0%BC%D0%BE%D0%B9%D1%81%D0%BA%D0%BB%D0%B0%D0%B4-%D1%80%D0%BE%D0%B7%D0%BD%D0%B8%D1%86%D0%B0-3/cpbnahkfbhiamlmpbllnbnaongbdomji?hl=en-US

Юрий
17.03.2017
11:22:39

Stanislav
17.03.2017
11:24:01
Ага
Всмысле я в команде разрабов этого приложения

Юрий
17.03.2017
11:24:49
А вы сами пилили фасад для хром апи, или использовали https://github.com/lucidd/scala-js-chrome ?

Stanislav
17.03.2017
11:25:49
Был уже запилен фасад для старой версии, через post message общаемся с ним

Юрий
17.03.2017
11:26:44
всм вы на scalajs сделали обертку над старым своим js кодом?
а что в качестве гуй либы использовали? scala-js-react?

Stanislav
17.03.2017
11:27:14
Все так

Юрий
17.03.2017
11:28:05
круто
а исходники не открыты?

Stanislav
17.03.2017
11:33:36
Неа

folex
17.03.2017
11:37:54
Юрий и как вам ScalaJS в продакшне? Сталкивались с какими-то особо острыми подводными камнями?
И как нашли людей, если не секрет? старую команду на энтузиазме перевели на scalajs?
И забыл сказать спасибо за ссылку!

Юрий
17.03.2017
11:38:36
я сейчас не пишу на scalajs, но в свободное время интересуюсь

folex
17.03.2017
11:39:02
ок, может от команды слышали отзывы?