gavr_sas
210 subscribers
2.65K photos
181 videos
26 files
780 links
JB пропаганда
Download Telegram
Замечательная и халявная оптимизация для гарбадж коллектора

emptyList|Map|Set|Array() это синглтоны иммутабельный пустых коллекций

Создавая новую коллекцию создается новый инстанс, а так все пустые коллекции будут одним и тем же.

Конечно это возможно только для иммутабельных

Тоже самое в других языках, каждый [] в жс это новый объект для гцшки
💯1
This media is not supported in your browser
VIEW IN TELEGRAM
добавил поддержку лсп go to definition для типов и методов, остались переменные и мб еще чето
в каспере есть хаскель?, вааа
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Вы даже не представляете наскооолько все усложняют многострочные экспрешоны

- Когда он однострочный
> получили номер строки и позицию
> идем на строку, ищем там такой экспрешон внутрь токена которого попадает курсор юзверя

- Когда он многострочный
> вииуувииу, теперь нужно добавлять многострочные стейтменты в мапу {номер строки: Set(expr)} столько раз, сколько строк он занимает
> окей это Range (tok.lineStart..tok.lineEnd).forEach {add...}

- а еще теперь позиция начала может быть > позиции конца, ведь конец может быть на другой строке, поэтому чтобы найти попал ли курсор в токен просто проверить 2 неравенства start <= cursor && cursor <= end не выйдет, нужно.. рассмотреть 3 случая

> если номер строки совпадает с tok.lineStart то пользователь нажал на первую строку экспрешона, и для проверки диапазона позиции на строке мы будем сравнивать курсор с позицией начала токена
cur.line == tok.startLine && cur.pos >= tok.start
> место кончилось, если мы на последней строке то <= end
> посередине всегда true
https://pomsky-lang.org/
переосмысленный регекспы(на хрусте)
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Добавил ховер буквально за 30 мин, он не особо отличается от остального, токо возвращаем строку типов
🥰2👍1
Не хватает пар? Берите триплы!
God I wish there was an easier way to do this
эмм, помойму получилась непреднамеренная самоирония
- пожаловаться
- пожаловаться в ЕС
This media is not supported in your browser
VIEW IN TELEGRAM
добавил деструктирующее присваивание
В 2006 у Java был фронтенд который рендерил swing в терминале!
🥰4
на выезде с заправки)
для забывчивых
😁1
ну и в чем они не правы?
Now you know Smalltalk,и kinda niva
1
официальный день вендекапца
🌭2
gavr_sas
официальный день вендекапца
Если я правильно понимаю невидия переходит на опенсурс дрова
https://developer.nvidia.com/blog/nvidia-transitions-fully-towards-open-source-gpu-kernel-modules/

"and the NVIDIA Open Kernel Modules would eventually supplant the closed-source driver"
В Swiftе добавили вариадичные дженерики в билдерах, так что это (1) заменилось на


static func buildBlock<each Content>(_ content: repeat each Content) -> TupleView<(repeat each Content)> where repeat each Content : View