gavr_sas – Telegram
gavr_sas
216 subscribers
2.68K photos
185 videos
28 files
788 links
JB пропаганда
Download Telegram
GPT 4 просто запомнил паттерн)
👍1
Организаторы в тысячный раз совершили критическую ошибку, дав аудитории писать текст который появится на экране, Бауманка
😁4
gavr_sas
Уже могу сделать Result, крута Потребовалось реализовать пустые конструкторы без параметров в резолвере типов А вот реализовать unwrap система типов пока не позволяет( Походу нужно вводить Bottom тип: Nothing И надо бы подглядеть как это в остальных яп решают…
Ну вот спустя 6-7 часов кодинга оно работает.
1) я не сразу додумался что если у веток потомков есть дженерик поля, то теже дженерик поля нужно добавлять и в Root, иначе при вызове функций будет невозможно вывести дженерик параметр, а также внутри матчей придется делать касты as T, потому что чертовы дженерики erased в JVM

То есть тут не видно, но и Option и Non это тоже дженерик типы, у Option тоже T что у Some, а вот у None забавное Nothing, что тоже не так уже и очевидно, ведь полей то у него нет.

2) Добавление bottom типа Nothing, который является локальным подтипом всех типов, что дает возвращать его из веток switch(все ветки switch должны возвращать один и тот же тип).
Тк кк Nothing в компараторе типов с чем угодно дает true
gavr_sas
Ну вот спустя 6-7 часов кодинга оно работает. 1) я не сразу додумался что если у веток потомков есть дженерик поля, то теже дженерик поля нужно добавлять и в Root, иначе при вызове функций будет невозможно вывести дженерик параметр, а также внутри матчей…
чертовы капиталисты
3) Добавил кастомные Keyword конструкторы типов(раньше были только unary, типа Float pi == 3.14)
Потому что я не хочу сначала создавать экземпляр эксепшона, а потом уже отдельным сообщением его throwить, это тупа, так что вот throwWithMessage вызывается напрямую на Error, а не на экземпляре Error, потому что конструктор

PS ну и да, Error, а не Exception, потомушо пишется проще ^_^
сори, но тг неудобный, скину так
Классные слайды объясняющие зачем в самой спецификации Wasm GC
Forwarded from gavr
пропосалы которые сильнее всего повлияют на васм перфоманс
симд и треды понятно, тэил позволит юзать корутины, функциональные языки

мемори64 позволит выделять в васме более 4гигов памяти и легче портировать код 64битный

js промисы — вызов асинхронного кода из синхронного без оверхеда, это чисто их V8
Forwarded from gavr
чистят сами
Forwarded from gavr
тащат свой
Forwarded from gavr
опа, а это че такое
Forwarded from gavr
Вот кстати еще проблема, непонятно сколько памяти нужно выделять под васм модуль, и поцы сейчас выделяют просто максимальное количество всегда, даже если под их апп нужно меньше