gavr_sas
167 subscribers
2.46K photos
164 videos
24 files
733 links
JB пропаганда
Download Telegram
gavr_sas
https://zed.dev/blog/git В Zed добавили поддержку Git Напоминаю, пасаны сначала считали что гуй гит никому не нужен, тк кк сами всегда юзали его из консоли, а в итоге это оказалось самой востребованной фичей
гит саппорт добавили, правда пока весьма порезанный
можно коммитить пушить, прыгать по веткам и смотреть на дифы в виде красных зеленых строчек(что между ними изменилодсь ищи сам)
ну уже прогресс, ждем фулл поддержку
gavr_sas
гит саппорт добавили, правда пока весьма порезанный можно коммитить пушить, прыгать по веткам и смотреть на дифы в виде красных зеленых строчек(что между ними изменилодсь ищи сам) ну уже прогресс, ждем фулл поддержку
как дифы показывает VSC

лучше тем что в строчках явно выделяется изменение

хуже тем что показ изменений не сплющивает файл, то есть вот тут чтобы найти другое изменение нужено внимательно присмотреться к полоске скролла и найти там вторую черточку на 200 строк выше

UPD: не, пардонтъе, сверху есть кнопочка складывающаяся карта, которая делает ровно это, см коммент
gavr_sas
как дифы показывает VSC лучше тем что в строчках явно выделяется изменение хуже тем что показ изменений не сплющивает файл, то есть вот тут чтобы найти другое изменение нужено внимательно присмотреться к полоске скролла и найти там вторую черточку на 200…
уже не интересно но вот еще IntelliJ, все тоже самое, токо настроек чуть больше
за белый цвет извени


ну тоже самое в плане менюшки дифов коммита, до гит функционала конеш всем как до луны
gavr_sas
мне надоело принт дебажить поэтому я добавил сообщение для компилятора которое выводит все переменные текущего скоупа наконсоль
Добавил подобие стактрейсов

Теперь получается комбинируя предыдущую фичу которая принтит значения всех локальных переменных и эту, можно получить алляя брейкпоинт, токо в виде оутпута в консоль

см коммент
3
😁1
Ну окей это хитро, можем в рантайме свитчится пур функция или не пур(пур-пур) и напимер запускать в паралель
🔥1
gavr
забавно, короч на греческом типота - ничего типа че смеешься, ничего а вопрос что это ти и типа спаршиваешь ти?? -типота или еще ти?? тири(сыр)
на греческом "они" делится по родам, то есть они коты и они кошки — 2 разных слова афти, афтес

и оно немного мясогенетическое, если группа смешанная и там хотя бы один мужского а остальные женского, тогда вся группа афти, и если только все женского то афтес.
gavr_sas
Ну окей это хитро, можем в рантайме свитчится пур функция или не пур(пур-пур) и напимер запускать в паралель
https://youtu.be/HoJaLJEPXW8
Опа, нашел толк как раз примерно про это

С какими проблемами сталкиваются алгебраические эффекты при полиморфизме

Например у вас есть тайп класс сложения, вычитания итд, флоты поддерживают деление на ноль, а инты выбрасывают ДтвижонБайЗеро, то есть имеют эффект, как же все это унифицировать?? вот вам небольшой крючок ^_^
иду к реке
👍2
🔥2😁1
Топ толк от создателей ноиты, еще до того как она вышла.
Как оптимизировали симмуляцию песка жидкости и шазов, как оно вообще работает, и как дезайнили геймплей шобы было весело

https://youtu.be/prXuyMCgbTc
👍1
Наверное идеальный пример реализации маленького типизированного компилятора на простом языке
GoCaml - реализация сабсета окамла с LLVM,
https://github.com/rhysd/gocaml/tree/master
👍1
А не подскажите ваше любимое решение для мутации полей объектов?

у мя сейчас так - можно мутировать поля только из методов этого же объекта, и только если этот метод объявлен для мутабильной версии

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 Int?"
по сути нуллабл типы это особый кейс суммы типов с нулом

Также у меня есть идея обратного матчинга, который будет нарровить не в новый скоп, а во внутренний - все что ниже. Чтобы не городить вложенности если нам нужен только один инвариант