
Александр
09.06.2018
13:48:10

Artur
09.06.2018
13:48:15
Не ну есть мнение, что throw это такой goto

Aleh
09.06.2018
13:48:36

Google

Алексей
09.06.2018
13:50:11
Не ну есть мнение, что throw это такой goto
Ну вообще то нет. Потому что goto (который кстати в Go имеется) прыгает куда угодно, а throw выбрасывает исключение вверх по стеку, то есть в одном направлении фактически. И вообще Go кстати и не смог полностью избавится от такого механизма и сделал panic/recover.

Тимофей
09.06.2018
13:50:21

Алексей
09.06.2018
13:50:25

Aleh
09.06.2018
13:50:59
Ну как

Дмитрий
09.06.2018
13:51:48
Да вообще никому ничего не обязаны

Aleh
09.06.2018
13:52:20
Очевидно можно сделать реализацию, которая нарушит определение

Алексей
09.06.2018
13:52:38

Aleh
09.06.2018
13:52:41
Только зачем тогда это называть either/maybe

Дмитрий
09.06.2018
13:52:45
Монадой можешь ты не быть, но моноидом в категории эндофункторов быть обязан

Aleh
09.06.2018
13:52:45

Дмитрий
09.06.2018
13:53:12
type Nothing = null
type Maybe<A> = [A, Nothing | void]
declare function foo(): Maybe<number>
const [value, err]
if (err === null)
Хоть в лоб хоть по лбу

Google

Алексей
09.06.2018
13:54:05
Монады
data Maybe a = Nothing | Just a - где тут что-то связанное с монадами?

Дмитрий
09.06.2018
13:54:22
Чтобы объяснить гоферу чем это будет отличаться от maybe нужно затратить бесконечное количество энергии

Алексей
09.06.2018
13:56:31
лол, в Go примерно так и происходит

Aleh
09.06.2018
13:57:23

Александр
09.06.2018
13:57:36
Не совсем вопрос по тайпскрипту но всё же, как из массива функций удалить елемент по значению?

Дмитрий
09.06.2018
13:57:56
А если прям удалить, то найти индекс через findIndex
И дальше splice

Александр
09.06.2018
13:59:42
Окей, подходит, спасибо

Алексей
09.06.2018
14:00:32

Дмитрий
09.06.2018
14:00:59
Что ещё себе в язык зашьёшь?)

Aleh
09.06.2018
14:01:21

Дмитрий
09.06.2018
14:01:26
?

Алексей
09.06.2018
14:03:52
Я тебя не понимаю (
В голанге обработка ошибок всегда требует if err != nil { return err } или что-то подобного, хотя можно определить какой-нибудь короткий синтаксический сахарок, который бы автоматически делал проверку и возврат ошибки. Что-то на подобие этого и происходит в том же хаскеле с тем же Either, только там это делается через монады.

Александр
09.06.2018
14:04:08
Приватные функции в typescript "принято" обозначать нижним подчеркиванием?

Aleh
09.06.2018
14:04:20

Алексей
09.06.2018
14:04:45

Roman
09.06.2018
14:05:08

Aleh
09.06.2018
14:05:12
Т.е.
const findUserEmail = id => findUser(id).bind(user => user.email)
Проверка спрятана в bind

Google

Алексей
09.06.2018
14:05:57

LiberateAI
09.06.2018
14:06:08

Дмитрий
09.06.2018
14:06:23
Дожили

Александр
09.06.2018
14:06:25

Дмитрий
09.06.2018
14:06:37
Двух видов приватных полей вам уже мало?)

Aleh
09.06.2018
14:06:43
)))

LiberateAI
09.06.2018
14:06:51

Алексей
09.06.2018
14:06:55

Aleh
09.06.2018
14:07:07

Алексей
09.06.2018
14:07:56
гипотетически там можно в ядро языка вшить обобщённый тип/псевдофункцию

Aleh
09.06.2018
14:07:59

LiberateAI
09.06.2018
14:08:03

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

Aleh
09.06.2018
14:10:23
Эти штуки не про функциональную парадигму, тут все очень императивненько, жс же
Вместо стрелок можно в каких-нибудь жавах или симулах делать объекты с методом run или call

Алексей
09.06.2018
14:12:29
Зачем нужен го я не знаю
А зря. Как бы я не ругал Go, но это пока пожалуй единственный более-менее популярный язык с нормальными высокоуровневыми примитивами для работы с конкурентными и парраллельными вычислениями.

Дмитрий
09.06.2018
14:13:03
Не то что ваш ерланг поганый

Google

Max
09.06.2018
14:13:05
Как вам такое предложение?
https://github.com/Microsoft/TypeScript/issues/24828

Алексей
09.06.2018
14:13:28

Дмитрий
09.06.2018
14:13:42
А я не просто так слово "ерланг"

Алексей
09.06.2018
14:14:05
ну эрланг как-то не популярный особо

Aleh
09.06.2018
14:14:14

Roman
09.06.2018
14:14:20

Max
09.06.2018
14:16:03
В JS это уже в Stage 1 включено

Алексей
09.06.2018
14:16:04
Нет
На java без лямбд реализуйте мне монаду пожалуйста, а я посмотрю насколько уродливо это получится.

Сергей
09.06.2018
14:16:14
и почему это без лямбд

Roman
09.06.2018
14:16:38

Aleh
09.06.2018
14:16:40

Алексей
09.06.2018
14:17:30

Aleh
09.06.2018
14:17:43
Да в смысле, в коллекциях map юзал?
Поздравляю, у вас функтор

Дмитрий
09.06.2018
14:18:17
Возможно фпянка

Алексей
09.06.2018
14:18:20
map - это уже из мира ФП

Дмитрий
09.06.2018
14:18:21
По каретам

Aleh
09.06.2018
14:18:40

Google

Алексей
09.06.2018
14:19:07

Дмитрий
09.06.2018
14:19:21

Aleh
09.06.2018
14:19:27
Ладно, я перестал понимать о чем мы спорим)

Дмитрий
09.06.2018
14:19:40
18 века

Aleh
09.06.2018
14:19:50
Жава тоже

Дмитрий
09.06.2018
14:19:54
До н.э

Aleh
09.06.2018
14:20:23
Жава тоже
Ну ладно, там gc есть, так что начала 70ых

Max
09.06.2018
14:20:34
Декораторы до сих пор под Stage 2 но они уже давно доступны (правда под флагом)

Aleh
09.06.2018
14:20:44

Дмитрий
09.06.2018
14:20:57

Aleh
09.06.2018
14:21:08
Да, там похожие на stage1