
Kirill
21.04.2017
12:03:30
Глянуть бы какие-то примеры такого безобразия, в теории то понятно, как это делается, но пока не посмотришь на примеры на практике, в голову ничего особо не лезет

Alex
21.04.2017
12:04:50
это к @notxcain :)
он дегусову луковицу реализовывал помнится

Denis
21.04.2017
12:09:36
Я всех достал уже наверное с либератором, вот программа в стиле finally tagless (https://github.com/aecor/liberator/blob/master/tests/src/main/scala/io/aecor/liberator/tests/TestApp.scala#L124),
вот ее материализация на основе Free (https://github.com/aecor/liberator/blob/master/tests/src/main/scala/io/aecor/liberator/tests/TestApp.scala#L175)
вот на основе Term (https://github.com/aecor/liberator/blob/master/tests/src/main/scala/io/aecor/liberator/tests/TestApp.scala#L160), Term вдохновлен (https://pchiusano.github.io/2014-05-20/scala-gadts.html).
Вот композиция и транспиляция интерпретаторов (https://github.com/aecor/liberator/blob/master/tests/src/main/scala/io/aecor/liberator/tests/TestApp.scala#L178)

Google

Alex
21.04.2017
12:14:11
а для mtl-образного не планируешь ничего? :)
или этот терм по сути не слишком отличается?
хотя нет, он вроде тоже вариация на тему free

Denis
21.04.2017
12:15:50
Да это вариация на тему Free
в чем то двойник
отличается тем как эффект кодируется
Вчера бы интересный разговор с Edmund Noble, у него есть похожая штука https://github.com/edmundnoble/atlast/blob/master/core/shared/src/main/scala/atlast/ATL.scala
Только вместо List подобного ProductKK, у него реализация на основе Vector
Я хотел на выхах побенчмаркать
А так тот же Term https://github.com/edmundnoble/atlast/blob/master/core/shared/src/main/scala/atlast/ATL.scala#L20

Oleg
21.04.2017
12:25:24
только нужно саммонеры заменить на нормальный DSL
т.е. какие-то readLn[F: UserInteraction](promt: String): F[String]

Google

Denis
21.04.2017
12:27:55
да можно
или импортнуть имплиситы
надо смотреть как вывод себя поведет

Oleg
21.04.2017
12:29:46
или импортнуть имплиситы
довольно геморно при такой нотации, придётся на каждый эффект писать
val userInteraction = UserInteraction[F]
import userInteraction._

Oleksandr
21.04.2017
12:29:47

Alex
21.04.2017
12:30:05
ну оно поверх работает :)
более высокий уровень абстракции
типа депенденси инжекшон на стероидах

Denis
21.04.2017
12:30:27
а не через context bounds

Oleg
21.04.2017
12:30:36

Denis
21.04.2017
12:31:01
более лучший

Oleksandr
21.04.2017
12:31:34
точно, перегрузка лишь на нодах аст

Oleg
21.04.2017
12:31:50
exit <- UserInteraction[F].readLn("Exit? (y/n): ").map(_ == "y")
_ <- if (exit) {
().pure[F]
} else {
program[F]
}
https://github.com/typelevel/cats/blob/01711b0063b7949de8a503b833777fafba6c3a9b/core/src/main/scala/cats/syntax/flatMap.scala#L30

Alex
21.04.2017
12:40:18
ура сахарок

Denis
21.04.2017
12:56:33
уиии

Oleg
21.04.2017
13:17:17
в scalaz ещё нормальные whenM, unlessM были

Sergey
21.04.2017
13:35:06

Alex
21.04.2017
13:35:31
ватрушка

Google

Iaroslav
21.04.2017
13:58:19
а есть какой-то очень монадный способо преждевременного прерывания итерации по коллекции?
я конечно понимаю, что сама постановка проблемы звучит немонадно

Denis
21.04.2017
14:07:05
для сверток есть foldM ?

Evgeniy
21.04.2017
14:07:22
свежеее описание этих схем https://www.youtube.com/watch?v=6m0J_XllHqQ

Alex
21.04.2017
14:09:04

Denis
21.04.2017
14:09:46

Alexander
21.04.2017
16:38:56
А можно тут устроить опрос по возрасту?

Denis
21.04.2017
16:40:28
Если не токсичный то можно :)

Alex
21.04.2017
16:41:01
вангую средний возраст в 30+-2

KrivdaTheTriewe
21.04.2017
16:45:39
запилите опрос

Alexander
21.04.2017
16:46:45
Ваш возраст
26-30 – 28
??????? 53%
20-25 – 16
???? 30%
31-35 – 7
?? 13%
36-40 – 2
? 4%
<20
▫️ 0%
41-45
▫️ 0%
>45
▫️ 0%
? 53 people voted so far.

Ivan
21.04.2017
16:52:38
индустрия старее потихоньку

Denis
21.04.2017
16:54:04
интересно такой опрос в других чатиках профильных провести

Sergey
21.04.2017
16:54:04
это еще чата для C++ нету :D

Lev
21.04.2017
16:54:11

Denis
21.04.2017
16:54:19
во во )

Alexandr
21.04.2017
16:54:45
Внезапно студентов 30%

KrivdaTheTriewe
21.04.2017
16:55:20
26-30 уже старые?

Alexandr
21.04.2017
16:58:12
Это чо получается, закончил институт, 3-4 года попрограммил и уже на пенсию? :D

Andrey
21.04.2017
16:59:11
не, просто раньше не было тех, кто институт закончил не 3-4 года назад. Программировали единицы, а не как сейчас - в каждом подъезде.

Google

KrivdaTheTriewe
21.04.2017
17:00:04
раньше телеграма не было и сидели в шарашках

Denis
21.04.2017
17:00:57
раньше было лучше

Ivan
21.04.2017
17:02:07

Luger
21.04.2017
17:04:24

KrivdaTheTriewe
21.04.2017
17:05:11

Aleksei
21.04.2017
17:06:00
ну вот не надо экстраполировать на всех

Baruch
21.04.2017
17:06:27

Aleksei
21.04.2017
17:07:08

Admin
ERROR: S client not available

Aleksei
21.04.2017
17:07:09
я просто
чтобы знать что меня ждет

Baruch
21.04.2017
17:07:45
для того, чтобы знать, что тебя ждет, надо спрашивать не у меня, а у тех, у кого таки уже не.

Aleksei
21.04.2017
17:08:32
значит меня ждет лысина =)
хотя я думаю все будет хорошо, я же завязал с плохими привычками, с явой например =)

KrivdaTheTriewe
21.04.2017
17:09:15
лысина либо ждет либо нет

Baruch
21.04.2017
17:11:11

Aleksei
21.04.2017
17:11:28

Kirill
21.04.2017
17:11:55

KrivdaTheTriewe
21.04.2017
17:12:03
https://github.com/holdenk/spark-testing-base/blob/master/mini-cross-build.pl

Google

KrivdaTheTriewe
21.04.2017
17:14:38
Ну зачем питон

Alexander
21.04.2017
17:41:52
посоветуйте платформу для блога, чтобы код красиво показывался и всё такое

Denis
21.04.2017
17:42:05
medium + gist

KrivdaTheTriewe
21.04.2017
17:45:44

Alexander
21.04.2017
17:47:14

Denis
21.04.2017
17:49:09
Почитал тут про https://ru.wikipedia.org/wiki/Android_Runtime, а есть что нибудь чтобы компилировать во время упаковки в докер имадж? Просто интересно

Alexander
21.04.2017
17:52:28

Denis
21.04.2017
17:53:06
в врем сборки образа прогонять компилятором для target платформы

Alexander
21.04.2017
17:53:07
Есть образы с дев окружением для андройда.

Denis
21.04.2017
17:53:27
а я не про андроид
я про простые JVM приложения
сама идея что В отличие от Dalvik, который использует JIT-компиляцию (во время выполнения приложения), ART компилирует[1] приложение во время его установки.
есть ли смысл делать нечто похоже при сборки имаджа контейнера с серверным приложением

Alexander
21.04.2017
17:56:09
Я не понял как ты хочешь это сделать. Обычную джава апликуху прогнать через ART AOT компилятор?

Denis
21.04.2017
17:57:08
через какой то AOT да

Alexander
21.04.2017
18:00:20
Ну это же ток на андройде работать будет.

Kirill
21.04.2017
18:00:24
через какой то AOT да
если бинарник - то всякие excelsior jet, я полагаю, я не помню есть ли живые и адекватные аот кроме него, если нужен просто АОТ - то в 9-ке будет АОТ компилятор

Alexander
21.04.2017
18:00:33
Нужно теперь джавы 10 ждать.
Ну иди да, экселсиор

Kirill
21.04.2017
18:01:07