ASCII-Nova 🇺🇦
89 subscribers
996 photos
42 videos
9 files
436 links
предложка: @ascii_nova_suggest_bot

Гиковство && занудство, инди-музыка, геймдев и непрошенные советы

Чат, где мы обсуждаем код и всё около него: @ascii_nova_chat
Download Telegram
Forwarded from Quantum Peppermint
This media is not supported in your browser
VIEW IN TELEGRAM
Police officer stops car for driving in oncoming lane
Forwarded from ExposedCat's blog (Artem)
2
Киевляне, вы как после во время обстрела?
Переходим к другим новостям, сегодня от Ивана будет вторая часть ответов про игровой движок/библиотеку Bevy!
🥰2
ASCII-Nova 🇺🇦
Audio
Первая часть ^^^

Тред с вопросами тут
https://t.iss.one/ascii_nova_blog/1031
Forwarded from Illia
Forwarded from s373r
ASCII-Nova 🇺🇦
Photo
вау! а это прямо билд под виту? или запускается бинарь линуксовый?
Forwarded from Artem
тайм тревел на godot + psvita!!

#linuxpower #opensource
Forwarded from Українська Rust Спільнота (Stepan Chaplia)
Квитки на UA Rust Conference 2024 🦀 вже у продажу!

Придбавши квиток ви
- 🦀 зможете взяти активну участь у наймасштабнішій Rust події України
- 🎥 отримаєте ранній доступ до запису всіх доповідей цієї конференції
- 🤝 матимете пропуск в одну із наших фан зон в Україні чи за її межами
- ❣️ допоможете нашим ЗСУ

На вас очікує більше десятка доповідей від провідних Rust експертів з усього світу! Зі спікерами та темами презентацій ви вже можете ознайомитися на сайті. Встигніть придбати квиток за early bird з великою знижкою зараз.

*Деталі*
Коли: 27 липня 2024 року
Формат: онлайн / офлайн фан-зони
Мови доповідей: українська 🇺🇦 та англійська 🇬🇧
Вартість Early Bird $50 ($75)

⭐️ КУПИТИ КВИТОК ⭐️
🔥2🤯1
Недавно написал свой первый процедурный макрос в Rust

Плюсы:
+ Писать макросы на Rust сверх приятно*
Минусы:
- Хочется писать теперь их еще и еще...

Если серьёзно, то возможность работать с набором токенов, которые парсятся в растовую структурку, очень интересно. Условно, я могу в макросе поменять сигнатуру полностью: изменить какой-то аргумент или вообще добавить новый.

В общем, сравнивая это с @декораторами из других ЯП и прочей рефлексией, то часто в таком случае, мы можем именно считать сигнатуру, но не изменить.

Иными словами, больше интересных возможностей по разработке API.

* Вспоминаю восторженные рассказы моего лида Николаса с одной из прошлых работ про Common Lisp и расширение синтаксиса через макросы (вроде ничего не перепутал) -- звучит мощно, не часто можно расширить синтаксис своего ЯП, верно?

В моём случае, это не расширение синтаксиса, но всё же выход на этот, скажем, мета-уровень (работа напрямую с конструкциями языка и (!) возможность изменить поведение), это драйвит

#Rust
🔥5
ASCII-Nova 🇺🇦
Еще немного внутренностей — в общем, работа чисто в Растовых терминах
А, кстати, говоря про синтаксис -- для процедурных макросов, можно реализовать какой угодно парсер аргументов, вплоть до... например парсинга Python кода (https://crates.io/crates/inline-python)

Я реализовал простой опциональный аргумент вида: [, 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 позволяет написать свой лексер, внутри процедурного макроса.
👍3