@scala_ru

Страница 259 из 1499
Andrey
29.11.2016
12:56:33
по-моему самое то для понимания того, что происходит

можно форкнуть и разбить на модули, как такой более приближенный к жизненным требованиям вариант

давайте заведем на гитхабе организацию имени этого чата

KrivdaTheTriewe
29.11.2016
13:00:05
SRUG

Google
aeon
29.11.2016
13:00:52
сурово звучит

Andrey
29.11.2016
13:13:44
будем контрибутить все вместе и выполнять завет Одерски из его видеопривета российскому сообществу

Vadim
29.11.2016
13:14:15
что за видеопривет?)

Andrey
29.11.2016
13:14:52
где-то на соцстраницах датамонстров есть

Aleksey
29.11.2016
13:15:12
https://www.youtube.com/watch?v=NylOlbScTdo

Vadim
29.11.2016
13:15:39
ну несмотря на то, что непонятно зачем - ты всегда ведь можешь сам сделать организацию и контрибутить

Andrey
29.11.2016
13:15:52
?

1. сделать организацию 2. не пускать в нее сомневающихся ...

Aleksei
29.11.2016
13:17:39
профит да

Andrey
29.11.2016
13:17:53
где-то там, ну

KrivdaTheTriewe
29.11.2016
13:17:55
Martin Oder sky is nyasha, проблемз в том, что были бы проекты, а организацию под них создать можно

Andrey
29.11.2016
13:18:16
дело говоришь

Google
Valera
29.11.2016
13:21:36
Ребята, меня спросил коллега и я даже не знаю, что ответить Вопрос звучал примерно так, есть ли Scala-компиляторы создающие код не для JVM и есть ли какие-либо ограничения спецификации языка для создания компилятора Scala, который без сборщика мусора и существуют ли подобные реализации

Dmitry
29.11.2016
13:22:02
Js :-)

Daniel
29.11.2016
13:22:09
https://github.com/scala-native/scala-native

https://www.scala-js.org/

KrivdaTheTriewe
29.11.2016
13:24:26
Ребят, вопрос есть , как задачку идиоматически на скале решить. Есть сгенерированные автоматически классы, у каждого есть метод getId , но у их общего предка этого метода нет. Нужно цеплять у каждого из инстансов только эту функцию, Как идиоматически такую задачу на скале решить, не занимаясь копипейстом кода с заменой типа в двух местах?

Oleksandr
29.11.2016
13:25:49
foo : { def getId ... }

structural typing

но эт рефлексия и в будущем может исчезнуть

Daniel
29.11.2016
13:26:37
или, если перфоманс важен, с помощью shapeless

там без рефлексии, но НЕ ПРОСТО

Denis
29.11.2016
13:27:31
написать тайпкласс GetId[A] { def getId(a: A): Id }

если просто

без шейплесс

и идиоматично

Oleksandr
29.11.2016
13:27:58
поправить генерилку -- самое простое

Vadim
29.11.2016
13:28:07
а бойлер плейтить тайпклассы чем?

Denis
29.11.2016
13:28:25
ну вопрос был как сделать идиоматично )

Oleksandr
29.11.2016
13:28:26
так-то инстансы тайпклассов тоже надо генерить

Denis
29.11.2016
13:29:10
если стоит вопрос учить шейплесс или объявить несколько инстансов тайпкласса и нужно вот прям завтра

Aleksey
29.11.2016
13:29:25
если генерилку можно поправить и при этом нельзя делать наследование, то инстансы некоего тайпкласса можно сгенерить.

Google
Aleksey
29.11.2016
13:30:15
ну или ручками, да.

можно макросом инстанс тайпкласса генерить еще.

Daniel
29.11.2016
13:31:03
вопрос в том, много ли вообще объектов, может структурный тип и подойдёт)

Oleksandr
29.11.2016
13:31:50
а как шейплесс такое без рефлексии разрулит?

что-то я сомневаюсь

(и без генерации инстансов тайпклассов, конечно)

Denis
29.11.2016
13:33:19
Лучше через структурный тип

Valera
29.11.2016
13:33:23
scala-native использует сборщик мусора, если судить по https://github.com/scala-native/scala-native/issues/128 а есть ли проекты вообще без сборщика? И если нет, то посдскажите почему

Denis
29.11.2016
13:33:39
да ну забудьте про structural typing в скале

тема крутая если бы была compile-time

Daniel
29.11.2016
13:34:23
а как шейплесс такое без рефлексии разрулит?
Примерно вот так: http://www.cakesolutions.net/teamblogs/copying-sealed-trait-instances-a-journey-through-generic-programming-and-shapeless

тема крутая если бы была compile-time
ну если у 10-100 объектов достать id - то почему нет?

Mikhail
29.11.2016
13:35:19
а если точнее, то за счет чего в плюсах достигается отсутствие сборщика мусора)

учитывая, что в скале как в языке подобных ограничений нет, то без ведения учета в рантайме - удаление не нужного невозможно.

Oleksandr
29.11.2016
13:37:19
Denis
29.11.2016
13:37:42
Valera
29.11.2016
13:43:58
Я также сначала ответил, но в Rust же нет сборщика как и оператора delete, конечно языки разные

Google
Artem
29.11.2016
13:46:13
но там же есть понятие ownership

если такое ввести в скалу - это уже будет другой язык

Vladimir
29.11.2016
13:52:37
с тайпклассами и борровингом: не менее 10 лет опыта в индустрии, чтобы запилить helloworld

Artem
29.11.2016
13:53:05
:)

вот это будет по настоящему интересно

коалгебры и их аллокаторы

Vadim
29.11.2016
13:55:32
есть тут кто на акке slfj-logger юзает? не сталкивались с проблемой что при terminate логи могут выпадать в StandardOutLogger?

Daniel
29.11.2016
13:56:49
юзаю, но вроде не было такого

Mikhail
29.11.2016
14:09:54
Я также сначала ответил, но в Rust же нет сборщика как и оператора delete, конечно языки разные
в расте жестко чистится все после выхода из функции. оставляется только в случае мува дальше за пределы функции, но насколько я понял тоже исключительно в рамках другой функции - также почистится после нее. как только ты выйдешь из call tree ты гарантированно будешь чист как целка. исключение составляют статики - но они создаются вне контекста функции и существуют на протяжении всего рантайма, при замене значения предыдущее чистится просто. но это после беглого прочтения доков. там еще наверное какие-то нюансы есть)

Admin
ERROR: S client not available

Oleksandr
29.11.2016
14:10:00
есть poс прототипы

но, подозреваю, на серьезном использовании получится та же херня, что и с шейплесом

Mikhail
29.11.2016
14:14:10
исходя из растовских ограничений появляются забавные сайд-эффекты) https://doc.rust-lang.org/book/ownership.html fn main() { let v = vec![1, 2, 3]; let v2 = v; println!("v[0] is: {}", v[0]); } error[E0382]: use of moved value: v и тоже самое при вызове функций. переменная от тебя утекает) там конечно есть другие способы передачи, но все же)

Foo
29.11.2016
14:16:44
ну тут-то все логично. = - то move взял один кусок памяти и перенес в другой если хочешь из двух переменных доступ к одному куску памяти получить - во вторую нужно было сделать borrow

Mikhail
29.11.2016
14:17:40
я и не говорю, что не логично. просто забавно и многие программисты будут очень долго спотыкаться об это

яваскрипт тоже постоянно все ругают, но если знать его немного лучше чем остальные - то тоже все логично и просто)

Alex
29.11.2016
14:20:23
им надо было =`на `<- поменять

шоб визуально было видно куда чё утекает :)

Mikhail
29.11.2016
14:23:39
в расте жестко чистится все после выхода из функции. оставляется только в случае мува дальше за пределы функции, но насколько я понял тоже исключительно в рамках другой функции - также почистится после нее. как только ты выйдешь из call tree ты гарантированно будешь чист как целка. исключение составляют статики - но они создаются вне контекста функции и существуют на протяжении всего рантайма, при замене значения предыдущее чистится просто. но это после беглого прочтения доков. там еще наверное какие-то нюансы есть)
тут можно добавить еще, что в скале на один обьект можно ссылаться из многих мест и без учета рантайма никогда не скажешь сколько именно мест ссылается на него (это можно легко доказать от противного). в расте - только из одного. да в расте можно получить указатель на память - но это уже не ссылка на обьект и не гарантирует, что там что-то будет при попытке туда обратиться.

Google
Alex
29.11.2016
14:26:40
ну о том и речь, надо менять систему типов, вводить affine kind

KrivdaTheTriewe
29.11.2016
15:20:42
Structural typing не оч конечно :(

Это все в стриминге крутится

Aleksei
29.11.2016
16:37:42
так, а вдруг, ни у кого случайно инвайта нет на audionews.org?

Andrey
29.11.2016
16:49:51
так сказать, на правах админа чатика

Ilya
29.11.2016
17:31:39
/stat@combot

Combot
29.11.2016
17:31:39
combot.org/chat/-1001034178083

Artem
29.11.2016
21:44:12
Посмотрите, о чем твитнул(а) @lambda_conf: https://twitter.com/lambda_conf/status/803695008100466688?s=09

Vadim
29.11.2016
21:53:59
http://lambdaconf.us/#about

забавно что все организаторы - де гоесы)

Alexander
29.11.2016
21:56:46
CHIEF PROPHET OF FUNCTIONAL PROGRAMMING

Vadim
29.11.2016
22:01:36
ну у него каждый второй твит как проповедь)

Alex
29.11.2016
22:19:45
забавно что все организаторы - де гоесы)
а ну походу там братья де хусы и их жены

правда у самого джона жена анестезиолог

Foo
30.11.2016
07:50:17
там свежий Li Haoyi http://www.lihaoyi.com/post/OldDesignPatternsinScala.html

Юрий
30.11.2016
07:50:55
Годная статья, еще вчера прочитал

Когда только начинал со скалой как раз такие же мысли у меня и были

Nikolay
30.11.2016
07:51:31
Ещё про scala platform http://scala-lang.org/blog/2016/11/28/spp.html

Кстати lightbend обещали планы на 2.13 рассказать. Ещё не было ведь?

Юрий
30.11.2016
07:53:13
так одердски же уже рассказывал

или нужны подробности?

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