Alexey
не туда посмотрел
Alexey
llvm ж
ждем вебни на фортране!
Anonymous
wasm ненужен
Anton
wasm ненужен
нужен, это переходный этап в эвлюции вебоблядства на жс, чтобы писали на нормальном языке
Alexey
переходный этап вкуда?
Anton
переходный этап вкуда?
в момент когда можно будет целиком писать на расте в веб с выключенным целиком жс конечно же)
Alexey
но wasm то никуда не денется в общем то
Alexey
а js как был так и останется для скриптов-однострочников в html.
Alexey
для чего он и был создан
Anton
да но так то если DOM портируют целиком и нормально на нативку хотябы как загрузку в виде разделяемой библиотеки
Anton
что можно будет на конкретных страницах целиком выключать жс и где все нативно хуярится
Anton
то как по мне это норм варик
Anton
имхо
Anton
экономия памяти, и все такое, ресурсоемкость и скорость
Aleksey
А что в Kotlin native со сборкой мусора?
Alexey
если тебе всего то и надо, что два раза мигнуть фоном, то webasm будет накладней чем легкий интерпретируемый скриптец
Anton
Aleksey
Типа arc?
Alexey
https://github.com/JetBrains/kotlin-native/blob/master/runtime/src/main/kotlin/konan/internal/GC.kt
Alexey
https://github.com/JetBrains/kotlin-native/blob/master/runtime/src/main/cpp/Memory.cpp
Vladimir
Чё за филиал котлина?
Anton
Чё за филиал котлина?
приходишь такой рассказать как ебешься с андроид студио и котлином, и тут понеслась...
Anton
Vladimir
И как ебешься?
Anton
Anton
но не сказать чтобы прям в кайф
Anton
ну ты понел
Loo
https://github.com/alexcrichton/wasm-bindgen
Kerrigan
til в расте есть кортежи
Filipp
Книгу не читал что ли?
Kerrigan
не воспринимал их как тип
Anton
кортежи не нужны. Pair<T1,T2> куда лучше.
а enum Lexeme{
Ident(String),
Comma,
Bracket(char)
}
Вообще фантазия сумасшедшего.
Как сделано большинство ЯП, и как ограничено большинство прогеров =)
Kerrigan
Anton
Кстати как раз надо будет мне попробовать подружить эрланг и раст. Правда первый пока еще не знаю особо. А какие-то будут проблемы?
Dan
про Lexeme не понял:)
Loo
https://youtu.be/b-Eq4YV4uwc?t=2333
Alexander
ой это и на этом канале
Loo
скинул с привязкой ко времени
Dan
"типы не нужны потому что всё равно тесты писать" - классика)
Loo
самый сок доклада
Alexander
A64m
кровь Адама
Kerrigan
Kerrigan
еслил нифы
Anton
А проблемы возникнут? С кортежами и енумами?
Anton
Если конечно ты пробовал..
Alexander
rust - нет, я пробовал с haskell но совсем hello world
A64m
любители типизации сами виноваты, что на корректность напирают. Типы нужны чтоб по ним код генерился подстановкой компилятором словарей тайпклассов, а не для какой-то там "корректности" с которой не все радужно
Alexander
там не было никаких принципиальных проблем, там просто структурка собирается эрланговая сишными функциями или прямо так
Alexander
в случае раста для транспортных структур просто трейт написать соотвестующий
Alexander
Anton
Ага. спасибо =)) Так, разведка =))
Статическая типизация не нужна. Даёшь f(a:i32,b:usize) и после рефакторингра вызываешь где-то f(a:i32, b:String|Function|Struct etc)
Dan
отлов ошибок и уменьшение бойлерплейта так-то тоже нужны
Loo
Alexander
(void *)f(void *)
Loo
кожуристы правы
Alexander
а передаваемые параметры руками со стека разбирать
Anonymous
Fn(&[&Any]) -> Any
Alexander
и регистров
Anton
Кстати в расте мне не хватает такого supertrait-a, который бы сразу имплементил бы кучу маленьких. Например, для trait Number + - == etc. Приходится делать это макросами
A64m
как верно заметил Пирс, отлов ошибок в значительной степени обеспечивает довольно простая система типов, все дальнейшее развитие систем типов лучше для генерации кода работает, чем для добора отлова ошибок, который начинает даваться довольно тяжело, с большими усилиями брошенными на ручные док-ва и прочее
Loo
Anton
А макросов не понимает Idea
Anton
Лол, а что ты предлагаешь лучше трейтов?
Loo
A64m
тут от всяких рефайнмент-тайпчекеров. использующих поиск док-в всякими смт-солверами больше толку будет
Anton
Кстати, я как-то раз проектировал компилятор языка типа раста(для интереса), так вот трейты хороши тем, что объекты могут компилиться независимо друг от друга, параллельно. А с наследованием такое не прокатит — нужно обязательно скомпилить предков.
Anton
Точнее думаю с наследованием можно все же распараллелить, но сперва надо построить весь объект по дереву, и уже затем его компилить
Alexander
Alexander
subtype polymorphism considered harmful
Kerrigan
Kerrigan
аргументы ты выдираешь руками
Dan
а что подразумевается под "простой системой типов"?
A64m
как в хаскеле
Dan
а, ну тогда да ^^
A64m
как в хаскеле (не считая GADT и прочей недоомеги)
Alexander
как же без GADT то :(
A64m
да GADT плохо в хаскеле поддерживаются, с ними свяжешься, а потом тут не дерайвится, тут не матчится, тут дженерики не работают
A64m
а много ли там ошибок ими наловить получится?