@scala_ru

Страница 614 из 1499
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
а для mtl-образного не планируешь ничего? :)
по-моему то, программа "в стиле finally tagless" уже довольно mtl -образна

только нужно саммонеры заменить на нормальный 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
кстати, а чем это концептуально лучше интерфейсов и перегрузки методов?
ты можешь одну программу скомпилить и во Future[Unit] и в RWST[Config, Log, AppData, Eval, Unit]

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
для сверток есть foldM ?
https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/Foldable.scala#L183

Denis
21.04.2017
14:09:46
https://github.com/typelevel/cats/blob/master/core/src/main/scala/cats/Foldable.scala#L183
Там вопрос случайно оказался ) да оно

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
26-30 уже старые?
а ты не замечал сыплющегося песочка сзади еще, не?

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
лысина либо ждет либо нет

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

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

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
Нужно теперь джавы 10 ждать.
вроде в 9ке будет же, и все равно запускать все равно через java -jar

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