@typescript_ru

Страница 639 из 669
Алексей
09.06.2018
14:21:18
Ладно, я перестал понимать о чем мы спорим)
Я вообще начал спорить о том, что монады с функторами - это фишка ФП, и для языков, в которых это самое ФП особо не распространено (Go как раз один из таких языков, как я понимаю) такие конструкции не приживуться и вообще они лишние.

Aleh
09.06.2018
14:21:18
Но только с определенных ракурсов

Max
09.06.2018
14:21:57
Хорошо, trimStart/trimEnd тоже под Stage 2

extended literals вполне логично включить сейчас в свете того, что мы имеем BigInt и встроенный литерал n

Google
Aleh
09.06.2018
14:23:54
Я вообще начал спорить о том, что монады с функторами - это фишка ФП, и для языков, в которых это самое ФП особо не распространено (Go как раз один из таких языков, как я понимаю) такие конструкции не приживуться и вообще они лишние.
Ну вот про то, что будь там генерики, проблемы с ошибками не было бы совсем, потому что определить функцию Аля checkError<T>(f: T => void): (T, Error) => void Не было бы никаких проблем

extended literals вполне логично включить сейчас в свете того, что мы имеем BigInt и встроенный литерал n
Если чето попадает в stage3, то становится приоритетом в реализации. Но всякие важные по мнению команды тс фичи могут заимплементить и раньше. В митинг ноутсах можно смотреть чё они там решают

Дмитрий
09.06.2018
14:25:56
Не становится

Пока я ничего не видел из новых пропозалов

Дмитрий
09.06.2018
14:26:13
Я говорю, они расслабились

Потому что пару лет как нового не было считай вообще

Алексей
09.06.2018
14:26:43
Я говорю, они расслабились
И правильно сделали, на самом деле

Дмитрий
09.06.2018
14:27:14
Флоу там уже половину пропозалов реализовал, в тс пока даже в обсуждениях на митингах не особо встречал

И правильно сделали, на самом деле
Да новые фичи вообще не нужны

?‍♂️

Есть же старые

Max
09.06.2018
14:27:58
Я говорю, они расслабились
Еще как! Хотят, что бы я WebGL2.d.ts включил в стандартные определения. Но как это сделать хз, учитывая что все WebAPI они генерят из WebIDL от своего Edge

Google
Алексей
09.06.2018
14:28:01
Да новые фичи вообще не нужны
новые фичи нужны, но не нужны радикальные новые фичи

Дмитрий
09.06.2018
14:28:24
новые фичи нужны, но не нужны радикальные новые фичи
И я о том же! Зачем новые когда есть старые. Нет радикалам!

Алексей
09.06.2018
14:28:25
типа как ES5 => ES2015 - вот это были серьёзные изменения

и они были нужны

очень нужны

а вот сейчас на мой взгляд таких сильных изменений уже не требуется

Алексей
09.06.2018
14:29:50
Как дженериков?
Дженерики в JS?

Дмитрий
09.06.2018
14:30:31
Как будто что-то плохое

Aleh
09.06.2018
14:30:48
Js?

Алексей
09.06.2018
14:31:08
ну это слишком толсто

Александр
09.06.2018
14:32:35
Такой ещё вопрос, у нас есть конструкторы, а деструкторы у нас есть? Как за собой подчищать память?

Алексей
09.06.2018
14:33:04
так, надо срочно ввести malloc/free в js

Александр
09.06.2018
14:34:37
GC все подчистит
После чатиков отжирающих по 500мб я ему не доверяю

Александр
09.06.2018
14:39:04
У нас есть obj = null
это разве не просто убирает ссылку?

Denis
09.06.2018
14:39:36
Убирает и говорит GC очистить

Google
Дмитрий
09.06.2018
14:39:36
Ручное управление памятью только для тех кто её сам выделяет

LiberateAI
09.06.2018
14:39:51
После чатиков отжирающих по 500мб я ему не доверяю
Если я правильно смотрю на цифры - то таже самая телега у меня ~300мб занимает

Александр
09.06.2018
14:40:12
Оке, тогда просто расслаблюсь и буду получать удовольствие

Сергей
09.06.2018
14:40:43
Александр
09.06.2018
14:40:43
Если я правильно смотрю на цифры - то таже самая телега у меня ~300мб занимает
десктопная или в браузере? Дектопная 150мб ест. Вру, 55мб

Morsik
09.06.2018
14:40:59
Убирает и говорит GC очистить
Говорит подчистить system.gc()

Дмитрий
09.06.2018
14:41:20
Ну типа если реально хочется покопаться в байтах то ручные TypedArray будут работать как ожидается, вручную выделил — вручную собрал, но сдаётся мне это не то чем бы хотелось заниматься на фронте

Дмитрий
09.06.2018
14:42:55
Асмжс — это режим который движок выберет если увидит что вы копаетесь с байтами)

Потому что как спека же вроде не взлетело, которая с 'use asm' ещё была; теперь движки определяют годность кода самостоятельно

Max
09.06.2018
14:43:58
Нет, это если хочеться самому управлять памятью) Да еще и писать на C/C++/Rust и прочем дерьме ?

Дмитрий
09.06.2018
14:44:36
Я про это же и говорю

Алексей
09.06.2018
14:45:12
Ой ща Сова стригеррится, ведь Rust "прочим дерьмом" назвали.

LiberateAI
09.06.2018
14:45:25
десктопная или в браузере? Дектопная 150мб ест. Вру, 55мб
У меня сейчас десктопная 210 и я не знаю прибавлять ли к этому еще 110 из compressed memory или наоборот вычитать

Morsik
09.06.2018
14:46:18
Max
09.06.2018
14:48:28
Ой ща Сова стригеррится, ведь Rust "прочим дерьмом" назвали.
Да я сам пишу на Rust и помогаю писать компилятор AssemblyScript. Это стеб=)

Алексей
09.06.2018
14:49:01
Google
Алексей
09.06.2018
14:49:19
rust -> wasm чтоли?

Morsik
09.06.2018
14:49:35
rust -> wasm чтоли?
С тса же вроде

Max
09.06.2018
14:49:42
О, а что за компилятор AssemblyScript?
Странно, что ты о нем не слышал, это ведь сабсет typescript: https://github.com/AssemblyScript/assemblyscript

Алексей
09.06.2018
14:49:56
оооооо, шикарно

Сергей
09.06.2018
14:50:05
rust -> wasm чтоли?
нет rust -> wasm из коробки раста

ибо не умеет в number

Aleh
09.06.2018
14:50:40
Да, просто сильно похож

Max
09.06.2018
14:51:24
только вот не сабсет
Суперсет сабсета (вообще это больная тема, Даниель до сих пор не знает как это правильно назвать=))

Aleh
09.06.2018
14:51:57
"Inspired by"?)

Max
09.06.2018
14:52:18
ибо не умеет в number
type number = f64 и теперь умеет)

Сергей
09.06.2018
14:52:26
Aleh
09.06.2018
14:52:27
Ну отношение к тс как у элексира к руби грубо говоря

@maxgraey или tsserver понимает?

Max
09.06.2018
14:57:06
@maxgraey или tsserver понимает?
Не все. Дело в том, что есть некоторые надмножества, которые не совсем совместимы. Например перегрузка операторов: class Vec2 { ... @operator('+') function add(a: Vec2, b: Vec2): Vec2 { return new Vec2(a.x + b.x, a.x + b.y); } } var a = new Vec2(1, 2) var b = new Vec2(2, 4) var c = a + b // <- вот на это будет ругаться, но в AS это валидно В остальном более не менее ок

Aleh
09.06.2018
14:57:49
Ага, понял, спасибо)

А это нельзя решить плагинами к tsserver?

Или смысла нет и у вас просто форк?

Max
09.06.2018
14:58:52
Можно, но ts не в приоритете. Если интерестно, можешь написать

Google
Mikhail
09.06.2018
15:00:29
Max
09.06.2018
15:01:03
Или смысла нет и у вас просто форк?
Это не форк. Парсер написан с нуля. Никаких зависимостей от ts. Только от binaryen. Собственно основная цель - это компиляция в wasm и asm.js. Но можно транспилировать и в js через tsc, для этого есть полифиллы, но не все можно. Как писать совместивый код описано здесь: https://github.com/AssemblyScript/assemblyscript/wiki/Writing-portable-code

Олександр
09.06.2018
20:28:39
Привет ребят. Пришел в TS бувально час назад, поэтому глупый вопрос: какой бест пректис для такого случая?: Есть export interface Config { } - обычный интерфейс конфига аппликухи, в файле config.d.ts И сам конфиг const config: Config = { }; который позже экспортится, в файле config.ts. Собственно вопрос: правильно ли вообще разделять вот так тайпинги и код? Для меня выглядит неестественно, а IDE и компилер не могут найти нужный интерфейс Config в config.ts. Должен ли я вынести эти тайпинги в какой то один, отдельный файл на проект (не либа), или фигачить такое прямо в config.ts и вообще не писать d.ts файлы?

Олександр
09.06.2018
20:38:41
Хм, а есть способ сделать const config: Config = {}; return config; в одну строчку?

типа return {} : Config ?

Мне IDE предлагает тупо забить на тип Config, но так не пойдет)

Сергей
09.06.2018
20:40:19
И все

Олександр
09.06.2018
20:41:19
Спасибо.





так нельзя?)

а так можно



Сергей
09.06.2018
20:57:50
Так ты тут объект сделал

Олександр
09.06.2018
20:57:50
и все таки хочется первый синтаксис

Страница 639 из 669