Size: a a a

Scala Learning & Education: Ask for Review & Noob questions

2021 November 28

Oℕ

Oleg ℕizhnik in Scala Learning & Education: Ask for Review & Noob questions
Очень сложно предотвратить, в каком-то абстрактом смысле это следствие тюринг полноты
источник

*

*ESAH* in Scala Learning & Education: Ask for Review & Noob questions
Начал свой первый урок с Hello.
https://www.scala-sbt.org/1.x/docs/sbt-by-example.html
Это лучшее пособие для начинающих? Надо бы поискать боевое применение знаний. Оплата не интересует. Интересует за какой период выйду на свой уровень в Scala (это чуть выше middle). Обычно хватает 2-3 месяцев, но Scala чуть сложнее ранее изученных ЯП.
источник
2021 November 29

A

Andy in Scala Learning & Education: Ask for Review & Noob questions
На курсере курс от Одерского хороший
Или вотто книга - норм
источник

GP

Grigory Pomadchin in Scala Learning & Education: Ask for Review & Noob questions
на курсере пройди курс одерского (progfun) https://www.coursera.org/learn/scala-functional-programming
источник

MK

Mikhail Kuznetsov in Scala Learning & Education: Ask for Review & Noob questions
смотря какой стек интересует. akka/play/spark - пару месяцев вполне ок, cats effect/zio - займет значительно больше
источник

*

*ESAH* in Scala Learning & Education: Ask for Review & Noob questions
В каком из этих стеков интеграция с JS лучше?
источник

MK

Mikhail Kuznetsov in Scala Learning & Education: Ask for Review & Noob questions
есть scalajs, но думается мне это для любителей поизвращаться
источник

*

*ESAH* in Scala Learning & Education: Ask for Review & Noob questions
это точно. Узкая спецализация не то что мы ищем....
источник

*

*ESAH* in Scala Learning & Education: Ask for Review & Noob questions
Всем спасибо))
источник

ЮБ

Юрий Бадальянц... in Scala Learning & Education: Ask for Review & Noob questions
А что значит интеграция с жс?
источник

ES

Evgeny Sanevich in Scala Learning & Education: Ask for Review & Noob questions
Подскажите пожалуйста, или покажите где почитать, почему в CE2 Resource объявлен как
Resource[+F[_], +A]
, а в CE3 - как
Resource[F[_], +A]
, то есть почему F перестал быть ковариантным и стал инвариантным?
источник

Oℕ

Oleg ℕizhnik in Scala Learning & Education: Ask for Review & Noob questions
Хороший вопрос.
Его оптимально задать в гиттере cats effect. Моё предположение: причина в основном конструкторе Allocate.

CE2:

final case class Allocate[F[_], A](resource: F[(A, ExitCase[Throwable] => F[Unit])]) extends InvariantResource[F, A]


CE3

final case class Allocate[F[_], A](resource: Poll[F] => F[(A, ExitCase => F[Unit])])
     extends Resource[F, A]

По сути во вторых котоэффектах все конструкторы тоже были инвариантны, но fold (см. исходники) можно было написать для любого G[x] :> F[x]. Поэтому всю конструкцию можно было объявить ковариантной.
Теперь из-за наличия принципиально инвариантного аргумента Poll (отвечающего за локальную реактивацию отмены), так уже написать нельзя.
источник

Oℕ

Oleg ℕizhnik in Scala Learning & Education: Ask for Review & Noob questions
Следы того же можно увидеть в сигнатуре метода mapK. Раньше он накладывал ограничения только на результирующий аргумент-функтор. Теперь ему нужны MonadCancel для обоих функторов, для того, чтобы согласовывать их маскирования
источник
2021 November 30

AP

Alexander Prokudin in Scala Learning & Education: Ask for Review & Noob questions
Привет, а есть в Скале метод, аналогичный Котлиновскому let? https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/let.html
То есть передаёшь туда функцию, а она объект в неё аргументом засовывает и возвращает результат
источник

AP

Alexander Prokudin in Scala Learning & Education: Ask for Review & Noob questions
Хочется цепочку методов сделать красивее
источник

R

Rajven in Scala Learning & Education: Ask for Review & Noob questions
Если я правильно понял, то вам нужно посмотреть на scala.util.chaining.
Там есть методы tap и pipe с похожей семантикой.
источник

λ

λoλcat in Scala Learning & Education: Ask for Review & Noob questions
В mouse есть |>
источник
2021 December 01

MG

Maxim Grankin in Scala Learning & Education: Ask for Review & Noob questions
После просмотра доклада про TF решил попробовать написать простенькую имплементацию бинарного дерева
Можно ли как-то сделать Leaf кейс обжектом или приходется жить с кейс классом?
https://scastie.scala-lang.org/fEDXv8gjT6uyrRldxdkcjA
источник

GP

Grigory Pomadchin in Scala Learning & Education: Ask for Review & Noob questions
иначе никак не сохранить полимфорность
источник

*

*ESAH* in Scala Learning & Education: Ask for Review & Noob questions
На странице ютуб-канала с докладом то TF неожиданно нашел хорошую ссылку на группу java- ориентированных: jug.ru... Поскольку группа ориентирована на изучающих Scala, это будет полезно.
Для себя определился с обучение: школа Scala на твиттере: https://twitter.github.io/scala_school/ru/index.html.
Основной подход - забыть все что знаешь о Java и изучить начисто скалу. Классно срабатывает, кстати.
источник