Наверное идеальный пример реализации маленького типизированного компилятора на простом языке
GoCaml - реализация сабсета окамла с LLVM,
https://github.com/rhysd/gocaml/tree/master
GoCaml - реализация сабсета окамла с LLVM,
https://github.com/rhysd/gocaml/tree/master
👍1
А не подскажите ваше любимое решение для мутации полей объектов?
у мя сейчас так - можно мутировать поля только из методов этого же объекта, и только если этот метод объявлен для мутабильной версии
Этот подход классный тк кк мутации всегда локальные, но есть проблема — как мутировать поле другого объекта в объекте?
выходит теперь нужно объявить само поле мутабильным внутри Person
как то это уже черезчур, или нет, мхмхмх
у мя сейчас так - можно мутировать поля только из методов этого же объекта, и только если этот метод объявлен для мутабильной версии
type Person name: String age: Int
Person birthday = age <- age inc // НИЗЯ
mut Person birthday = age <- age inc // можно
x = Person name: "John" age: 20
x birthday // НИЗЯ
// мутабельного типа
y::mut Person = Person name: "John" age: 20
y birthday // можно
Этот подход классный тк кк мутации всегда локальные, но есть проблема — как мутировать поле другого объекта в объекте?
type Wallet money: Int
type Person wallet: Wallet
выходит теперь нужно объявить само поле мутабильным внутри Person
type Wallet money: Int
type Person wallet: mut Wallet
как то это уже черезчур, или нет, мхмхмх
🤔1😨1
сори за спам nivой, но шото я начал снова активно ее кодить, добавил type narrowing при матчинге на нулл во все остальные ветки
до этого была бы ошибка "can't send inc message to nullable type
по сути нуллабл типы это особый кейс суммы типов с нулом
Также у меня есть идея обратного матчинга, который будет нарровить не в новый скоп, а во внутренний - все что ниже. Чтобы не городить вложенности если нам нужен только один инвариант
до этого была бы ошибка "can't send inc message to nullable type
Int?
"по сути нуллабл типы это особый кейс суммы типов с нулом
Также у меня есть идея обратного матчинга, который будет нарровить не в новый скоп, а во внутренний - все что ниже. Чтобы не городить вложенности если нам нужен только один инвариант
через час преза биг N с свичем 2
UPD:
- LCD, ну разумеется, шобы можно было потом продавать олед версию
- 1080P hdr, 120 герц!
- режим шаринга игр, если есть несколько челов со свичами то достаточно чтобы многопользовательская игра присутсвовала только у одного из них шобы играть в нее вместе, нужно чтобы все были рядом
- 256 гб, было 64
- в каждом жой коне мышш, и крепятся они магнитиками а не защелками
- с кнопка вызывает чат и теперь там есть аналог дискорда во время игры
Релиз 5 июня
будет киберпанк, около бладкорн, марио кардс в опенворде, елден ринг, новый кинг конг
UPD:
- LCD, ну разумеется, шобы можно было потом продавать олед версию
- 1080P hdr, 120 герц!
- режим шаринга игр, если есть несколько челов со свичами то достаточно чтобы многопользовательская игра присутсвовала только у одного из них шобы играть в нее вместе, нужно чтобы все были рядом
- 256 гб, было 64
- в каждом жой коне мышш, и крепятся они магнитиками а не защелками
- с кнопка вызывает чат и теперь там есть аналог дискорда во время игры
Релиз 5 июня
будет киберпанк, около бладкорн, марио кардс в опенворде, елден ринг, новый кинг конг
🔥1
gavr_sas
через час преза биг N с свичем 2 UPD: - LCD, ну разумеется, шобы можно было потом продавать олед версию - 1080P hdr, 120 герц! - режим шаринга игр, если есть несколько челов со свичами то достаточно чтобы многопользовательская игра присутсвовала только у…
так, ну mousemode, как бы встроенные тачпады мышу замечательно заменяют, + блютус с любой нормальной мышой а не этими тунельсиндромные огрызки,
1080п это минус тк кк производительность - батарейка
и не хватает пункта про playing all nintedo switch games for free, и все остальные консоли тоже, вон пс4 допилили недавно
Steamdeck does what Nintendon't !
1080п это минус тк кк производительность - батарейка
и не хватает пункта про playing all nintedo switch games for free, и все остальные консоли тоже, вон пс4 допилили недавно
Steamdeck does what Nintendon't !
👍1
Forwarded from opennet.ru
Для Nim 3.0 развивается новый компиляторный бэкенд на основе формата NIF https://opennet.ru/63031/
www.opennet.ru
Для Nim 3.0 развивается новый компиляторный бэкенд на основе формата NIF
В процессе разработки версии 3.0 языка программирования Nim ведётся работа над обновлённым компилятором, использующим промежуточный формат NIF (Nim Intermediate Format). В новом компиляторе будет решено несколько технических задач, среди которых улучшение…
👍2
gavr
почему так нахуй?
интегрированность WSL в систему - нажимаю на папке пкм - отправить в зип архив, уже думаю нифига се, они продумали все... и ничего не происходит, просто пкм -> архив ничего не делает в WLS подсистеме,
перемещаю в ближайшее место - корень, пкм -> архив, ой а так низя, хотити на раб стол отправлю?
—————
все 3.5 ос ужасны по своему, довольно активно пользуюсь всеми, причем с узскоспецифичными фичами вроде WSL и XCode, мой личный топ
1 Endeavour OS(арч с гуй установщиком и drucut вместо mkinitcpio) - 5 лет на ней, после переезда на новом ноуте ни разу не переустанавливал, чтото ломалось 2 раза, предполагаю что еслиб я не использвал патченный гном с аура, форс запуска всего на невидии, зен ядра и pamac который разрабатываеца manjaro и отстает по версиям, то вообще было бы ноль проблем
успешно пересадил абсолютно нетехнического друга на нее, и он продержался 2 года, месяца 2 назад поставил федору обыкновенную(терь ждет пока гном доедет муахаха)
2 Fedora и все флейворы, вот только что переписали пакетник, а это было моей главной претензией, теперь все хорошо, я просто практически не пользовался, так что конкретных минусов не знаю, сейчас мне не хватает только аура, и с атомарного флейвора приходится для разработки сидеть из под арча внутри дистробокса,
пожалуй сейчас это дефолт линукс дистр
остальными линями пользовался токо пока дистрохопил в начале(2018), я редкий случай пересаживался на линь не с винды а с хакинтоша), но помню что тогда еще понравилась суся тумблевидная
3 windows — сейчас мне прям сложно решить что хуже винда или мак,
глав минус винды 11 это ее нереальное количество слежки, рекламы, необходимость логина в акк чтобы установить лол(помойму недавно закрыли хак с секретным но_емейл юзернеймом), ннно это вроде бы фиксится особой чистой корпоративной LTSC сборкой,
4 когда как у макмакича никакой альтернативной сборки нет, система просто кусок невнятного несвязанного говна, каждая фича будто бы прилеплена отдельной несообщающейся с остальными командой, количество мелких бесячих мелочей огромно(только что добавили разделение окон пополам при стуке по краю, да этого не было), и только процессор заставляет меня юзать мак как основной мобильный компьютер, ничего близкого по производительности\цене\энергопотреблению нет, м1 до сих пор спустя 5 лет тащит
асахи жалко
перемещаю в ближайшее место - корень, пкм -> архив, ой а так низя, хотити на раб стол отправлю?
—————
все 3.5 ос ужасны по своему, довольно активно пользуюсь всеми, причем с узскоспецифичными фичами вроде WSL и XCode, мой личный топ
1 Endeavour OS(арч с гуй установщиком и drucut вместо mkinitcpio) - 5 лет на ней, после переезда на новом ноуте ни разу не переустанавливал, чтото ломалось 2 раза, предполагаю что еслиб я не использвал патченный гном с аура, форс запуска всего на невидии, зен ядра и pamac который разрабатываеца manjaro и отстает по версиям, то вообще было бы ноль проблем
успешно пересадил абсолютно нетехнического друга на нее, и он продержался 2 года, месяца 2 назад поставил федору обыкновенную(терь ждет пока гном доедет муахаха)
2 Fedora и все флейворы, вот только что переписали пакетник, а это было моей главной претензией, теперь все хорошо, я просто практически не пользовался, так что конкретных минусов не знаю, сейчас мне не хватает только аура, и с атомарного флейвора приходится для разработки сидеть из под арча внутри дистробокса,
пожалуй сейчас это дефолт линукс дистр
остальными линями пользовался токо пока дистрохопил в начале(2018), я редкий случай пересаживался на линь не с винды а с хакинтоша), но помню что тогда еще понравилась суся тумблевидная
3 windows — сейчас мне прям сложно решить что хуже винда или мак,
глав минус винды 11 это ее нереальное количество слежки, рекламы, необходимость логина в акк чтобы установить лол(помойму недавно закрыли хак с секретным но_емейл юзернеймом), ннно это вроде бы фиксится особой чистой корпоративной LTSC сборкой,
4 когда как у макмакича никакой альтернативной сборки нет, система просто кусок невнятного несвязанного говна, каждая фича будто бы прилеплена отдельной несообщающейся с остальными командой, количество мелких бесячих мелочей огромно(только что добавили разделение окон пополам при стуке по краю, да этого не было), и только процессор заставляет меня юзать мак как основной мобильный компьютер, ничего близкого по производительности\цене\энергопотреблению нет, м1 до сих пор спустя 5 лет тащит
асахи жалко
👍1
собрал все хайлайты полседних нововведений niva в виде скриншотиков в одном месте https://github.com/gavr123456789/Niva/releases/tag/0.1.0
———
@liferooter toString с правильными строковыми литералами special for u ^_^
теперь объекты выведенные на консоль это валидный код их инициализации
———
@liferooter toString с правильными строковыми литералами special for u ^_^
теперь объекты выведенные на консоль это валидный код их инициализации
GitHub
Release 0.1.0 · gavr123456789/Niva
Highlights
Pretty printing with toString
All generated toString methods outputs valid object constructors
<= 2 fields - one line
> 2 field - many
Screencast_From_2025-04-01...
Pretty printing with toString
All generated toString methods outputs valid object constructors
<= 2 fields - one line
> 2 field - many
Screencast_From_2025-04-01...
❤1
нашел сразу 2 хаскеля, и оба на JVM, ну и совпадение
https://eta-lang.org/
https://github.com/Frege/frege
оба конечно мертвы, но зрелище интересное
https://eta-lang.org/
https://github.com/Frege/frege
оба конечно мертвы, но зрелище интересное
обожаю языковые выпуски подлодки, вот очередной про Crystal
https://youtu.be/6N_GbrK_GIw
---
когда то в прошлой жизни я рассказывал там про Nim, теперь настала очередь чрезвычайно похожего языка, но с ОО вместо процедурки
https://youtu.be/6N_GbrK_GIw
---
когда то в прошлой жизни я рассказывал там про Nim, теперь настала очередь чрезвычайно похожего языка, но с ОО вместо процедурки
YouTube
Crystal – это Ruby без недостатков | Зачем нужен язык Crystal | Podlodka Podcast #420
Все языки программирования вдохновляются друг другом, но иногда эволюцию конкретных идей между языками отследить довольно сложно. Crystal – уникальный случай. Его авторы одновременно невероятно сильно любили синтаксис Ruby и компилируемые языки со статической…
👍1