
Алексей
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

Дмитрий
09.06.2018
14:25:56
Не становится
Пока я ничего не видел из новых пропозалов

Max
09.06.2018
14:26:09

Дмитрий
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

Aleh
09.06.2018
14:28:19

Дмитрий
09.06.2018
14:28:24

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

Дмитрий
09.06.2018
14:28:52

Алексей
09.06.2018
14:29:50

Дмитрий
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

Max
09.06.2018
14:33:24

Александр
09.06.2018
14:34:37

Denis
09.06.2018
14:38:43

Александр
09.06.2018
14:39:04

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

Google

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

LiberateAI
09.06.2018
14:39:51

Александр
09.06.2018
14:39:55

Сергей
09.06.2018
14:40:05

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

Сергей
09.06.2018
14:40:43

Александр
09.06.2018
14:40:43

Morsik
09.06.2018
14:40:59

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

Max
09.06.2018
14:41:30

Дмитрий
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

Morsik
09.06.2018
14:46:18

Max
09.06.2018
14:48:28

Алексей
09.06.2018
14:49:01

Google

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

Александр
09.06.2018
14:49:20

Morsik
09.06.2018
14:49:35

Max
09.06.2018
14:49:42

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

Сергей
09.06.2018
14:50:05
ибо не умеет в 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

Сергей
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:31:13
.d.ts для js файлов

Олександр
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
и все таки хочется первый синтаксис