Size: a a a

Scala User Group

2021 February 01

P

Python in Scala User Group
Alex Sh
На месте оно.
источник

Oℕ

Oleg ℕizhnik in Scala User Group
в се3 очереди просто есть
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Скорее всего, они такой же трюк, как зио сделали
источник

P

Python in Scala User Group
Oleg ℕizhnik
в се3 очереди просто есть
А я и не заметил :O
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Типа передаёшь капасити и определяется одна из 4-х реализаций
0-местная (blocking, rendezvous)
1-местная (mvar)
n-местная
и unbounded
источник

AS

Alex Sh in Scala User Group
Оффтопик, но всё-таки хочется узнать в чём разница. MVar  ведёт себя как semaphor(counter =1) и непонятно, зачем нужен semaphor(counter > 1) 🤔
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Alex Sh
Оффтопик, но всё-таки хочется узнать в чём разница. MVar  ведёт себя как semaphor(counter =1) и непонятно, зачем нужен semaphor(counter > 1) 🤔
ref всегда содержит значение,
а semaphore автоматически удаляет отменённые процессы

с MVar пока кто-то взял значение на обработку, вы не сможете прочитать его, и вам нужно очень аккуратно обработать брэкет на каждую функцию, чтобы в случае отмены/ошибки, она положила что-то обратно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
собственно слово Agent в тофу отсылает к https://clojure.org/reference/agents
я полагаю, здесь в первый раз в качестве альтернативы акторам был представлен примитив, который гарантировано всегда содержит значение и предоставляет возможность серийно изменять его в процессе длинными функциями
источник

AS

Alex Sh in Scala User Group
Oleg ℕizhnik
ref всегда содержит значение,
а semaphore автоматически удаляет отменённые процессы

с MVar пока кто-то взял значение на обработку, вы не сможете прочитать его, и вам нужно очень аккуратно обработать брэкет на каждую функцию, чтобы в случае отмены/ошибки, она положила что-то обратно
Т.е. Ref + семафор(1) на запись
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Alex Sh
Т.е. Ref + семафор(1) на запись
да
источник

AS

Alex Sh in Scala User Group
Ясно, спасибо 👍
источник

f

folex in Scala User Group
Вечер добрый. А в скале есть какие-нибудь парсер-генераторы, на которых удобно было бы парсить свой ЯП?

Попробовали cats-parse, и как-то больно/неудобно + пока не оч понятно как там достучаться до оффсетов чтобы source map генерировать. В расте вот есть LALRPOP, он весьма неплох. Но писать на расте высокоуровневый ЯП кажется не лучшей идеей – слишком много оверхеда (для разработчика).

Какие еще скаловские либы/фреймворки/етц для парсинг стоит попробовать потыкать? Может не только не парсинга есть что-то?
источник

A

Alexey in Scala User Group
fastparse2?
источник

f

folex in Scala User Group
Alexey
fastparse2?
а разве cats-parse не на замену ему пришло, тк fastparse не особо поддерживается?
источник

A

Alexey in Scala User Group
folex
а разве cats-parse не на замену ему пришло, тк fastparse не особо поддерживается?
похоже ты прав
источник

Oℕ

Oleg ℕizhnik in Scala User Group
folex
Вечер добрый. А в скале есть какие-нибудь парсер-генераторы, на которых удобно было бы парсить свой ЯП?

Попробовали cats-parse, и как-то больно/неудобно + пока не оч понятно как там достучаться до оффсетов чтобы source map генерировать. В расте вот есть LALRPOP, он весьма неплох. Но писать на расте высокоуровневый ЯП кажется не лучшей идеей – слишком много оверхеда (для разработчика).

Какие еще скаловские либы/фреймворки/етц для парсинг стоит попробовать потыкать? Может не только не парсинга есть что-то?
fastparse
источник

Oℕ

Oleg ℕizhnik in Scala User Group
cats-parse не на замену ему пришло
источник

Oℕ

Oleg ℕizhnik in Scala User Group
и всё ещё менее продуктивен
источник

Aλeχ Λisenκo in Scala User Group
источник

Aλeχ Λisenκo in Scala User Group
Интересно узнать мнение
источник