Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 27 2015 20:25
    User @sudodoki banned @doneck-russia from this room
  • Mar 19 2015 20:58
    User @mr-mig banned @pgr-ru from this room
  • Mar 14 2015 23:15
    User @mr-mig banned @putin-hero from this room
  • Mar 14 2015 22:30
    User @mr-mig banned @stepan-bendera from this room
Ruslan Shevchenko
@rssh
там же ж вопрос не в том, что бы лишить тебя форов, а что-бы если кто-то пишет без них, то оно бы или делало обертку или ругалось. (Сейчас оно просто игнорит исключения, что явно неправильно) А вобще -- отсутствие этой фичи запрещает обертку continuations в функцию (даже если это будет хорошо сделано на уровне JVM) без написания своего транслятора контрол-флова
Andriy Plokhotnyuk
@plokhotnyuk
может все-таки в виде варниг фичу сделать? чтоб и предупредить об ошибках и но чтоб ленивые рученки не перестали писать форы вообще...
OlegYch
@OlegYch
по мне лучше б оно всегда ругалось и заставляло писать форы
про континьюейшены хз
Ruslan Shevchenko
@rssh
не знаю. Что-то в последнее время меня эта пляска вокруг врапперов в scala раздражать начала.
Ruslan Shevchenko
@rssh
(Может потому, что для "просто веб" пописал на typescript немного. Ощущения от взгляда на scala после, очень похожи на ощущения от java после scala: действия, хоть и не сложные, но не имеющие никакого смысла и отнимающее время и внимание. Только в java это были getter/setter и вербозность конструкций, в scala - флатмапы оберток.
OlegYch
@OlegYch
Scala-async был
не зашел как-то
Ruslan Shevchenko
@rssh
ну так потому что его так и не доделали
Ruslan Shevchenko
@rssh
//монадных "выворачивателей" можно штук 6 насчитать, все разной степени недоделанности - и даже очевидно почему: для хорошего преобразования надо процессить полностью все языковые конструкции, а это просто дофига работы. При этом теория все сделана в 70-ых (то есть диссертацию не напишешь). И краткосрочной проблемы особой нет, кроме кривой обучения -- можно ж рядом написать во врапперах и не особо хуже будет
Получается для науки и индустрии - выхлоп маленький, для развлечения - слишком много работы.
OlegYch
@OlegYch
на тупескрипте у тебя один "врапер" и тот в одном потоке, на скале тебе нужно что-то делать с многопоточностью и много-враперностью
Bondarenko
@vasiliybondarenko
кто-то подскажет в чем прикол Literal types в scala 2.13? Читал release notes и не вкурил зачем объявления наподоби val one: 1 = 1
Andriy Plokhotnyuk
@plokhotnyuk
Привет, Василий! Истинные корни уходят в глубины теории типов. Literal-based singleton types дают возможность задавать ограничения для значений более гранулярно и потом использовать механику вывода типов чтобы построить более сложные... См. примеры использования в библиотеках shapeless, refined, libra, spire: https://docs.scala-lang.org/sips/42.type.html
Bondarenko
@vasiliybondarenko
@plokhotnyuk а понятно, но что из этого всего на данный момент умеет scala? Либа refined например позволяет задавать ограничния типа val a: Int Refined Greater[w5.T] = 10 то есть на тип Int наложено ограничение >5. Нечто подобное умеет чистая скала 2.13?
Valentin Saulyak
@devalentino

Добрый вечер.

Подскажите пожалуйста начинающему. Мне нужно перевести java код new Class[]{} в scala.

немного бекграунда: работаю над тестом и мне нужно замокать класс ConnectionFactory

val mockConnectionFactory = createMockBuilder(classOf[ConnectionFactory])
      .addMockedMethod("newConnection", /* `new Class[]{} */)
      .createMock()

метод createMockBuilder

IMockBuilder<T> addMockedMethod(String methodName, Class<?>... parameterTypes);

заранее благодарен.

Roman Tkalenko
@tkroman
насчет дискарда - я летом писал плагин для конпелятора, чтобы нельзя было иметь dangling effectful-значения
https://github.com/tkroman/puree/blob/master/puree/src/main/scala/com/tkroman/puree/UnusedDetector.scala
он в +- рабочем состоянии, хотя есть куча корнер-кейсов, конечно же, и иметь такое флагом в компиляторе с более естественным набором правил - годная идея кмк.
Denis Kostousov
@kostousov-ds
Добрый день.
Никто случаем не разбирался с плугином sbt-paradox ? Не могу понять, почему ругается на ссылки в index.md:
[error] Unexpected top-level pages (pages that do no have a parent in the Table of Contents).
[error] If this is intentional, update the `paradoxRoots` sbt setting to reflect the new expected roots.
[error] Current ToC roots: [accounts/accounts.html, grpc/grpc.html, index.html, test.html]
[error] Specified ToC roots: [index.html]
[error] Illegal URL 'accounts/accounts.md' with text 'One' (see `paradoxIllegalLinkPath` setting) at /home/dkostousov/project/site/src/main/paradox/index.md:16
[error]  * [One](accounts/accounts.md)
[error]    ^
[error] Illegal URL 'grpc/grpc.md' with text 'Two' (see `paradoxIllegalLinkPath` setting) at /home/dkostousov/project/site/src/main/paradox/index.md:17
[error]  * [Two](grpc/grpc.md)
[error]    ^
[error] Illegal URL 'test.md' with text 'Tree' (see `paradoxIllegalLinkPath` setting) at /home/dkostousov/project/site/src/main/paradox/index.md:18
[error]  * [Tree](test.md)
[error]    ^
[error] Paradox failed with 4 errors
[error] (docs / Compile / paradoxMarkdownToHtml) com.lightbend.paradox.sbt.ParadoxPlugin$ParadoxException
[error] Total time: 0 s, completed 27.12.2019 22:03:38
[IJ]sbt>

index.md в конце выглядит так

@@toc { depth=1 }

@@@ index

 * [One](accounts/accounts.md)
 * [Two](grpc/grpc.md)
 * [Tree](test.md)

@@@

На это и ругается. Может кто-то сталкивался и знает где собака порылась?

Ruslan Shevchenko
@rssh
А никто не использовал java Lombok и Scala в одном sbt проекте ?
(Проблема что Lombok annotation процессор не вызывается из sbt)
Grigory
@pomadchin
попробуй в телеграмме спросить, там активнее; ну и побольше информации надо на тему что за проект? и как в скала проекте ламбок используешь
Ruslan Shevchenko
@rssh
Ну там просто -- когда у темя есть директория src/main/scala и src/main/java, то sbt сначала процессит jav-у а потом - scala. И по идее во время процессинга jav-а должен вызываться lombock, потому что annotation-processor есть в зависимостях и java компилятор из classpath должен его автоматически подключить. Но почему-то нет. Я думал может просто кто уже сталкивался. а так - боюсь прийдется исходники читать что-бы понять, что происходит
Vadym Serdiuk
@xsobrietyx
@rssh у вас доклад на ScalaUA будет касательно этой темы?
Ruslan Shevchenko
@rssh
нет, вобще о другом
(в истории я о "монадных выворачивателях" выше писал - скорее о том, как это сделать в dotty [https://github.com/rssh/dotty-cps-async ] )
Vadym Serdiuk
@xsobrietyx
@rssh а код в репозитории рабочий или это пока что wip?
Ruslan Shevchenko
@rssh
ну как -- wip, постепенно превращающийся в рабочий. Сейчас там больше конструкций не реализовано, чем реализовано
Vadym Serdiuk
@xsobrietyx
@rssh ну я так и понял по увиденному.
Vadym Serdiuk
@xsobrietyx
@rssh подскажите пожалуйста, как один из организаторов ScalaUA - почему мне никто не отвечает на мои письма и комментарии в фейсбуке относительно refunding билета на ScalaUA 2020?
Ruslan Shevchenko
@rssh
Не знаю -- e-mail-ы мы всем разослали, кто регистрировался
сейчас скажу
(возможно письмо от нас в спам попало, пересмотрите)
А какой e-mail ?
Напишите на scala.conference@gmail.com
(и я перепроверю, что получили и отпишусь)
Ruslan Shevchenko
@rssh
(да - если вы купили билет и не получили от нас письмо о переходе в онлай формат и абзацом о рефунде -- пожалуйста, напишите на scala.conference@gmail.com (или дерните меня любым доступным способом)
Ruslan Shevchenko
@rssh
@xsobrietyx есть ваше письмо в почте. Видно в пятницу у нашей административной команды был довольно напряженный день, и не всем успели в тот-же день ответить.
Vadym Serdiuk
@xsobrietyx
@rssh что-то как-то прогресса по возврату денег за билет нет
Ruslan Shevchenko
@rssh
в смысле так и не связались ?
(сейчас посмотрю)
Vadym Serdiuk
@xsobrietyx
@rssh получили от меня необходимые данные (номер билета, реквизиты для возврата) и пропали
Ruslan Shevchenko
@rssh
ага - вижу, связались, спросили номер карточки.
Ruslan Shevchenko
@rssh
(вроде мы и не обещали, что он будет мгновенным. постараемся разобраться и отписать побыстрее, конечно. Но спрашивать каждый день особого смысла не имеет :))
Vadym Serdiuk
@xsobrietyx
@rssh не совсем понимаю почему вы используете слово «обещали», так как по моему мнению это является нормальным тоном любой нормальной организации - возвращать деньги по требованию, тем более в такой ситуации. Относительно «каждый день» - есть такое понятие как обратная связь. Если вовремя её нет - это нормальная практика писать и задавать вопросы. Я не получил до сих пор никакой конкретной информации относительно сроков в которые мне вернут деньги. Меня это удивляет, я полагал что в первую очередь организаторы должны заботиться о своей репутации.
Ruslan Shevchenko
@rssh
Мы в самом первом письме дали самые худшие сроки (в течении двух месяцев; это если считать что мы будем делать выплаты после того, как нам будут возвращать деньги другие подрядчики, вероятно вы просто не обратили на это внимание). В реальности, мы постараемся сделать по другому (и быстрее), но точно скажу, когда посчитаем что получилось и получим апдейты от подрядчиков.
Vadym Serdiuk
@xsobrietyx
@rssh вы хотите чтобы я сделал скриншоты переписки со scala.conference@gmail.com ? Зачем вы сейчас пишете то, что не соответствует реальности? Ни о каких сроках мне никто не писал. Меня не устраивает ваш ответ и ваши потенциальные два месяца. Вы действительно хотите «по плохому», огласки, обращений в налоговую и другие инстанции?
Ruslan Shevchenko
@rssh
Ну значит вы то самое первое письмо (которое мы всем участникам разослали 12-го марта) все-таки не получили. Непонятно, как там могло получится, может все-таки не заметили. Кстати, мы и так с вами в публичном канале общаемся ;) Я завтра попрошу приоритизировать работу с возвратами.
OlegYch
@OlegYch
вы там аккуратнее, а то я тоже могу скинуть номер карты и грозить репутацией
обычно возвраты идут через процессора