Forwarded from Quantum Peppermint
This media is not supported in your browser
    VIEW IN TELEGRAM
  Police officer stops car for driving in oncoming lane
  Переходим к другим новостям, сегодня от Ивана будет вторая часть ответов про игровой движок/библиотеку Bevy!
🥰2
  Forwarded from s373r
  ASCII-Nova 🇺🇦
Photo
вау! а это прямо билд под виту? или запускается бинарь линуксовый?
  Forwarded from Illia
  s373r
вау! а это прямо билд под виту? или запускается бинарь линуксовый?
Да, билд под виту
🔥2
  Forwarded from Українська Rust Спільнота (Stepan Chaplia)
  
Квитки на UA Rust Conference 2024 🦀 вже у продажу! 
Придбавши квиток ви
- 🦀 зможете взяти активну участь у наймасштабнішій Rust події України
- 🎥 отримаєте ранній доступ до запису всіх доповідей цієї конференції
- 🤝 матимете пропуск в одну із наших фан зон в Україні чи за її межами
- ❣️ допоможете нашим ЗСУ
На вас очікує більше десятка доповідей від провідних Rust експертів з усього світу! Зі спікерами та темами презентацій ви вже можете ознайомитися на сайті. Встигніть придбати квиток за early bird з великою знижкою зараз.
*Деталі*
Коли: 27 липня 2024 року
Формат: онлайн / офлайн фан-зони
Мови доповідей: українська 🇺🇦 та англійська 🇬🇧
Вартість Early Bird $50 ($75) 
⭐️ КУПИТИ КВИТОК ⭐️
Придбавши квиток ви
- 🦀 зможете взяти активну участь у наймасштабнішій Rust події України
- 🎥 отримаєте ранній доступ до запису всіх доповідей цієї конференції
- 🤝 матимете пропуск в одну із наших фан зон в Україні чи за її межами
- ❣️ допоможете нашим ЗСУ
На вас очікує більше десятка доповідей від провідних Rust експертів з усього світу! Зі спікерами та темами презентацій ви вже можете ознайомитися на сайті. Встигніть придбати квиток за early bird з великою знижкою зараз.
*Деталі*
Коли: 27 липня 2024 року
Формат: онлайн / офлайн фан-зони
Мови доповідей: українська 🇺🇦 та англійська 🇬🇧
Вартість Early Bird $50 (
⭐️ КУПИТИ КВИТОК ⭐️
🔥2🤯1
  Недавно написал свой первый процедурный макрос в Rust
Плюсы:
+ Писать макросы на Rust сверх приятно*
Минусы:
- Хочется писать теперь их еще и еще...
Если серьёзно, то возможность работать с набором токенов, которые парсятся в растовую структурку, очень интересно. Условно, я могу в макросе поменять сигнатуру полностью: изменить какой-то аргумент или вообще добавить новый.
В общем, сравнивая это с @декораторами из других ЯП и прочей рефлексией, то часто в таком случае, мы можем именно считать сигнатуру, но не изменить.
Иными словами, больше интересных возможностей по разработке API.
* Вспоминаю восторженные рассказы моего лида Николаса с одной из прошлых работ про Common Lisp и расширение синтаксиса через макросы (вроде ничего не перепутал) -- звучит мощно, не часто можно расширить синтаксис своего ЯП, верно?
В моём случае, это не расширение синтаксиса, но всё же выход на этот, скажем, мета-уровень (работа напрямую с конструкциями языка и (!) возможность изменить поведение), это драйвит
#Rust
Плюсы:
+ Писать макросы на Rust сверх приятно*
Минусы:
- Хочется писать теперь их еще и еще...
Если серьёзно, то возможность работать с набором токенов, которые парсятся в растовую структурку, очень интересно. Условно, я могу в макросе поменять сигнатуру полностью: изменить какой-то аргумент или вообще добавить новый.
В общем, сравнивая это с @декораторами из других ЯП и прочей рефлексией, то часто в таком случае, мы можем именно считать сигнатуру, но не изменить.
Иными словами, больше интересных возможностей по разработке API.
* Вспоминаю восторженные рассказы моего лида Николаса с одной из прошлых работ про Common Lisp и расширение синтаксиса через макросы (вроде ничего не перепутал) -- звучит мощно, не часто можно расширить синтаксис своего ЯП, верно?
В моём случае, это не расширение синтаксиса, но всё же выход на этот, скажем, мета-уровень (работа напрямую с конструкциями языка и (!) возможность изменить поведение), это драйвит
#Rust
🔥5
  
  ASCII-Nova 🇺🇦
Недавно написал свой первый процедурный макрос в Rust  Плюсы: + Писать макросы на Rust сверх приятно*   Минусы: - Хочется писать теперь их еще и еще...  Если серьёзно, то возможность работать с набором токенов, которые парсятся в растовую структурку, очень…
Еще немного внутренностей — в общем, работа чисто в Растовых терминах
🔥5
  
  ASCII-Nova 🇺🇦
Еще немного внутренностей — в общем, работа чисто в Растовых терминах
А, кстати, говоря про синтаксис -- для процедурных макросов, можно реализовать какой угодно парсер аргументов, вплоть до... например парсинга Python кода (https://crates.io/crates/inline-python)
Я реализовал простой опциональный аргумент вида:
В общем, реально классная штука и зрелость экосистемы для написания макросов меня прямо впечатляет (макросы я активно старался НЕ писать как бывший плюсовик, т.к. макросы это pure C way, а я топил за плюсы и шаблоны)
Может не самое честное сравнение с препроцессором C/C++, т.к. это просто замена/вставка текста (буквально), но иметь макросы, которые прямо компилируемые внутри, это супер круто!
#Rust
Я реализовал простой опциональный аргумент вида:
[, return_value = "unwrap"|"unwrapAndColon"|"asIs"] (параметр, с ожиданием одного из трёх значений).В общем, реально классная штука и зрелость экосистемы для написания макросов меня прямо впечатляет (макросы я активно старался НЕ писать как бывший плюсовик, т.к. макросы это pure C way, а я топил за плюсы и шаблоны)
Может не самое честное сравнение с препроцессором C/C++, т.к. это просто замена/вставка текста (буквально), но иметь макросы, которые прямо компилируемые внутри, это супер круто!
#Rust
🥰6
  
  ASCII-Nova 🇺🇦
А, кстати, говоря про синтаксис -- для процедурных макросов, можно реализовать какой угодно парсер аргументов, вплоть до... например парсинга Python кода (https://crates.io/crates/inline-python)  Я реализовал простой опциональный аргумент вида: [, return_value…
Обновление: немного подумал и понял, что привёл не удачный пример с парсингом питоновского синтаксиса.
В упомянутом крейте, парсинга не происходит, он передаётся дальше в pyo3 (ржавые байдинги к Python).
Но в целом, функционал Rust позволяет написать свой лексер, внутри процедурного макроса.
В упомянутом крейте, парсинга не происходит, он передаётся дальше в pyo3 (ржавые байдинги к Python).
Но в целом, функционал Rust позволяет написать свой лексер, внутри процедурного макроса.
👍3