gavr_sas – Telegram
gavr_sas
219 subscribers
2.68K photos
185 videos
29 files
789 links
JB пропаганда
Download Telegram
Решил добавить в репу примеров rust

1) Чтобы структура была принтабельной нужно добавить перед ней #[derive(Debug)], жутко бойлерплейтно, почему не макрос

2) Просто так строковый литерал "sas" незя поместить в место где ожидалась String, нужно String::from("Peter")
3) семиколоны в 3033?

Остальное более менее норм, LS радует своим быстродействием.

Rust
Swift
🤨 спасибо за типы произведения тайпскрипт

"Ожидаемый тип поступает из свойства "ref", объявленного здесь в типе "IntrinsicAttributes & ClassAttributes<HTMLDivElement> & HTMLAttributes<HTMLDivElement> & ClassAttributes<...> & ButtonHTMLAttributes<...>""
Линус говорит очевидные вещи(Rust), но читать все равно интересно
https://lkml.org/lkml/2022/9/19/1105#1105.php
👍1
Симулируем именованные параметры на сишке
👍3👎1
WhyML - язык с пруф чекингом и мутабельными! переменными. Удачи найти такое сочетание
https://kornevgen.github.io/mfsp/slides/smt_why3ml/smt_why3ml.pdf
Надеюсь на вашем языке можно имплементнуть fizzbuzz with types
Подробнейшее рассмотрение семейства языков Pascal/Modula, изложено не сухими фактами, а в весьма свободной форме. Фанатам нима обязательно к прочтению.
https://wiki.alopex.li/WirthEvolution
Thanks Obama
Ой че нашеел, это мы сохраняем
https://astexplorer.net/
Кря
Forwarded from Alexander Chichigin
Операционная семантика (большого шага) — это по сути прямой интерпретатор языка (definitional interpreter). При наличии такого интерпретатора есть с чем сравнивать компилятор. Особенно оптимизации. Потому что оптимизации не должны менять семантику программы — но для этого у программы должна быть семантика.
Forwarded from Alexander Chichigin
Денотационная семантика полезна для доказательства корректности. Но при наличии операционной (интерпретатора) — можно тестировать.
GNOME
👍1
Записали вчера подкаст по ниму, выйдет уже сегодня, оч торопили в конце, думаю нужно было делить на 3 части конечно. Первая часть тут
👍3
gavr_sas
Записали вчера подкаст по ниму, выйдет уже сегодня, оч торопили в конце, думаю нужно было делить на 3 части конечно. Первая часть тут
Список ссылей который будет под выпуском
— — —
Введение в ARC/ORC: https://habr.com/ru/post/523674/

Список компаний использующих ним:
https://github.com/nim-lang/Nim/wiki/Organizations-using-Nim

Отзыв разраба из Beadog об использовании nim в проде Neverwinter Nights: Enhanced Edition: https://news.ycombinator.com/item?id=24802836


Успешный стартап игры про песеля на геймбои(£203,929 of £18,000 goal, в gameboy 256КБ): https://www.kickstarter.com/projects/penguinrik/goodboy-galaxy-exploration-platform-game-gba-pc-and-switch


Анонс нанимания двух разработчиков чтобы исправить LS:
Библиотеки
httpbeast - Реализация http на nim занявшее 6 место в топ бенчмарков(до него 1 Cи и 5 Rust’ов)
Karax - фреймворк для разработки SPA(без html js, все на nim)
Jester - sinatra-like веб-фреймворк
Prologue - мой любимый веб-фреймворк
Arraymancer - tensor library использующий GPU(CUDA, OpenMP, OpenCL)
NimGL - качественный обертки над популярными графическими библиотеками(GLFW, Vulkan, OpenGL, ImGUI)
zero-functional- zero-cost chaining for functional abstractions, map zip split, такое будет очень сложно реализовать на других яп, все благодаря макросам.
weave - state-of-the-art multithreading runtime(автор был нанят в Status и теперь работает над nim-taskpools)
nim-taskpools - еще один мультитред рантайм, но больше направленный на надежность(так как используется в Status), формально верифицированные алгоритмы!
nico - фреймворк для создания пиксельных игр(аналог PICO-8)(пример игры https://impbox.itch.io/vektor2089)

Тулинг(который я не успел упомянуть):
Hot code reloading
Documentation generator
niminst - генератор установщиков для ним программ под все платформы(особенно актуально для Windows)
nimpretty: бьютифаер кода, ставится вместе с компилятором.
Testament - раннер тестов
Choosenim - аналог nvm, позволяет ставить разные версии компилятора одновременно и между ними переключаться(в том числе devel), например на старых дистрах можно получить новые версии, не собирая из исходников
nimsuggest - Nim IDE Integration tool
koch - The koch program is Nim's maintenance noscript. Это замена make и shell скриптов с тем преимуществом, что она намного более переносима

Крутые толки:
Next generation micro-controller programming: https://archive.fosdem.org/2022/schedule/event/nim_ngmicrocontrollers/
Кастомная прошивка для клавиатуры на nim https://youtu.be/dcHEhO4J29U
3d майнкрафт hot code reload с вокселями для обучения программированию с 6 лет: https://youtu.be/3l6tsKM1cY8, https://archive.fosdem.org/2022/schedule/event/nim_potatozombies/
Nim внутри выключателя https://youtu.be/eCCrkZI0rVU
Nim - первый нативный язык с HCR: https://youtu.be/7WgCt0Wooeo
Pixie 2021 аналог skia написанный на nim - https://youtu.be/8acDfUIwLnk
Опыт использования Nim компанией Status https://youtu.be/5wljNaPkU7M
Designing an ultra low-overhead multithreading runtime for Nim Exposing fine-grained parallelism for 32+ cores hardware via message passing by Mamy Ratsimbazafy https://youtu.be/b26d1Qq-ass (потом его наняли Status и сейчас он пишет для них )

Книги:
Nim in Action
Примеры из книги Nim in Action
Mastering Nim
NimProgrammingBook - Dr. Stefan Salewski книга которая рассматривает ним как первый яп.
1👍1🔥1
обожаю Ice-Pick Lodge
Podlodka #288 – Nim, часть 2 ​

Efficient as C, Expressive as Python, Elegant as Lisp. В этом выпуске вместе с Гавром продолжаем разбираемся с лучшим языком программирования – Nim. В этой части мы разбираем ключевые фичи языка, его недостатки, обозреваем экосистему и обсуждаем самые громкие кейсы применения в продакшене.

Разверните отказоустойчивую инфраструктуру на 9 дата-центров Selectel в России и за рубежом
Реклама, ООО «Селектел»

🎧Слушать выпуск
1
Мощь тайпскрипта
Вот имеем ситуацию, либа для показа табличек, нужно ей передать массив данных и массив колонок.

Колонкам разумеется нужно чтото знать про данные.
Данные могут иметь вложенность, то бишь name: {first, second: string}

Вопрос, как указать для колонок вложенность данных в объектах, не десериализовать же дтошки каждый раз в плоскую структуру.

Ну допустим через точки "name.firstname"
Но это же не типо-безопасно!
TS и литеральные типы, вывело все варианты вместе с вложенностями