Size: a a a

WebAssembly — русскоговорящее сообщество

2019 May 21

НС

Никита Сковорода in WebAssembly — русскоговорящее сообщество
Andrey Roenko
Ну вроде {f,s,i}{32,64} в тс легко добавить, если использовать его исключительно как парсер/тайпчекер, а код эмитить самому. Проблема в том, что +-*/ не будут работать. И в том, что надо стандартные number/string/etc как-то запретить
Ага. И x = Math.random() * 1e7; x *= 1e10 будет работать не так, как надо, а статический анализатор этого не поймает.
источник

НС

Никита Сковорода in WebAssembly — русскоговорящее сообщество
Зачем такие инты вообще нужны?
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
ну он вероятно хочет чтобы как в as было
источник

НС

Никита Сковорода in WebAssembly — русскоговорящее сообщество
А как в as? я не в курсе
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
но не понимает, что нельзя просто так взять и начать компилить тс в васм + жс
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
я понимаю
источник

AR

Andrey Roenko in WebAssembly — русскоговорящее сообщество
Кажется мы о разных вещах говорим. Я о том, что можно запретить стандартный number и разрешить только type i32 = { __iwantnominaltypes: 'i32' }; и работать с ним как с opaque типом (declare function i32add(a: i32, b: i32): i32;)
Говорят, что так и сделано в as
источник

НС

Никита Сковорода in WebAssembly — русскоговорящее сообщество
Никита Сковорода
А как в as? я не в курсе
А, в том as?
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
Andrey Roenko
Кажется мы о разных вещах говорим. Я о том, что можно запретить стандартный number и разрешить только type i32 = { __iwantnominaltypes: 'i32' }; и работать с ним как с opaque типом (declare function i32add(a: i32, b: i32): i32;)
Говорят, что так и сделано в as
есть несовместимость с жс намберами
источник

N

Nikolay in WebAssembly — русскоговорящее сообщество
Andrey Roenko
Кажется мы о разных вещах говорим. Я о том, что можно запретить стандартный number и разрешить только type i32 = { __iwantnominaltypes: 'i32' }; и работать с ним как с opaque типом (declare function i32add(a: i32, b: i32): i32;)
Говорят, что так и сделано в as
я это и имел ввиду
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Andrey Roenko
Кажется мы о разных вещах говорим. Я о том, что можно запретить стандартный number и разрешить только type i32 = { __iwantnominaltypes: 'i32' }; и работать с ним как с opaque типом (declare function i32add(a: i32, b: i32): i32;)
Говорят, что так и сделано в as
В TS нет номинальных типов)
источник

AR

Andrey Roenko in WebAssembly — русскоговорящее сообщество
Знаю, но хочется же
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
а только по i32 тому же нельзя точно сказать можно ли это на васм стороне сделать или это должен быть жс
источник

AR

Andrey Roenko in WebAssembly — русскоговорящее сообщество
И через костыли-костылики можно получить некоторое подобие
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Вот ветка: https://github.com/microsoft/TypeScript/issues/202

Тянется еще с 2014 года)
источник

AR

Andrey Roenko in WebAssembly — русскоговорящее сообщество
Да, я в курсе и подписан
источник

AR

Andrey Roenko in WebAssembly — русскоговорящее сообщество
(и даже большой палец поставил!)
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
Andrey Roenko
И через костыли-костылики можно получить некоторое подобие
как уже выше заметили не раз, это возможно и очень неэффективно
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
И да наличие номинальных типов еще только пол дела. Еще нужны будут assignability rules:
https://github.com/AssemblyScript/assemblyscript/wiki/Types#assignability
источник

AR

Andrey Roenko in WebAssembly — русскоговорящее сообщество
И +-*/ было бы неплохо иметь
источник