
shadowjack
17.03.2017
17:58:03
Ну это частный случай

Alexey
17.03.2017
17:58:25
а как? не томи

Taras ?
17.03.2017
17:58:36
а как же варнинг что внутри ифа не должна определяться переменная?

Roman
17.03.2017
17:59:54
t = a * a |> + a
(вопрос чисто из интереса, без понятия "зачем")а нельзя написать в elixir так a |> (*)a |> (+)a?

Google

shadowjack
17.03.2017
18:00:36
У меня нет такого варнинга

Roman
17.03.2017
18:00:59

abc
17.03.2017
18:01:21
А есть хороший линтер для эликсира
?

Roman
17.03.2017
18:01:58

Alexey
17.03.2017
18:02:08
iex(1)> 1 |> Kernel.+ 2
3

shadowjack
17.03.2017
18:02:12

Denis
17.03.2017
18:02:14

Alexey
17.03.2017
18:02:36
либо
1 |> + 2
но он ругается, но работает

shadowjack
17.03.2017
18:02:59

Roman
17.03.2017
18:03:02

Alexey
17.03.2017
18:03:35
синтакс еррор

Google

Alexey
17.03.2017
18:03:46
ты как в хаскеле хотел?

shadowjack
17.03.2017
18:04:29

Roman
17.03.2017
18:04:32

abc
17.03.2017
18:05:23
А f# норм на моно работает?

Alexey
17.03.2017
18:05:25
скобки там для другого, поэтому со скобками не будет

Roman
17.03.2017
18:05:50
стабильный, кстати, в прод писал 4 года назад на f# + mono

Alexey
17.03.2017
18:07:16
Kernel.+(2, 3)
5
поэтому если в pipe, то первый параметр заменится и будет
2 |> Kernel.+(3)
и с учетом сахара скобки можно выкинуть
2 |> Kernel.+ 3

Roman
17.03.2017
18:07:47
Kernel это модуль?

Alexey
17.03.2017
18:08:11
а как обособить оператор/ф-цию?
так именно скобками. они там для приоритета. а не как в хаскеле, чтобы форму оператора сменить. или как это там правильно называется

Roman
17.03.2017
18:08:59
очевидно, да
а если его опустить, то (из сообщения выше) ругается, но исполняет

shadowjack
17.03.2017
18:09:03
Почему-то про ; в эликсире практически нигде не упоминается.

Alexey
17.03.2017
18:09:52

shadowjack
17.03.2017
18:09:56

Roman
17.03.2017
18:10:02
кстати, есть более рабочая версия? https://github.com/jamilbk/tensortastic
а, и правильно я понимаю никакого автокарринга в elixir нет?

shadowjack
17.03.2017
18:10:39

Alexey
17.03.2017
18:10:55

Google

Roman
17.03.2017
18:11:09

shadowjack
17.03.2017
18:11:12

Roman
17.03.2017
18:11:28
ленивость, хрен с ней) главно чтоб можно было врубать когда нужно.

Alexey
17.03.2017
18:11:44
мне вот в хаскеле показалось некрасивым число с минусом в скобки брать. ну чтож тут поделаешь

Roman
17.03.2017
18:11:50
блин, без автокарринга печально, это же такой мощный инструмент

Alexey
17.03.2017
18:12:06
чо?

shadowjack
17.03.2017
18:12:41

Alexey
17.03.2017
18:12:55
что за карринг? он для чего?

shadowjack
17.03.2017
18:13:13
Частичное применение

Roman
17.03.2017
18:13:18
чо?
ну написал ты ф-цию let add a b = a + b потом сделал let increment = add 1 и потом с ней работаешь. оч удобно.

Alexey
17.03.2017
18:13:57
аа. ну это повод для гордости хаскелистов или реально полезная весчь?

shadowjack
17.03.2017
18:14:03
Есть шортхенд для анонимных функций

Alexey
17.03.2017
18:14:05
без подкола вопрос

Roman
17.03.2017
18:14:34
add 1 это частичное применение, let add a b =fun () -> fun () -> a + b это карринг

Alexey
17.03.2017
18:15:02
просто я пока вижу инструмент для создания кода, который по тексту не понятен

Roman
17.03.2017
18:15:09

Alexey
17.03.2017
18:15:26
это надо пробовать в деле, конечно

Andrey
17.03.2017
18:15:39
каррирование полезная вещь, да

Alexey
17.03.2017
18:16:22
я. наверное, с другого остова. была тут статья про острова языков. гле я на гошников наехал )))
и вот там была мысль, что си и паскаль - с разных островов.

Google

Roman
17.03.2017
18:16:24
ну как ооп-разработчику объяснить union types , он сразу говорит, что это делается через наследование и `нинужно`и понимает разницу только когда использует union types. Так же сложно объяснить и про каррирование

Alexey
17.03.2017
18:16:37
так вот, я вот очень люблю паскаль. потому что он человеком понятный
а си - я очень не люблю за приведение типов

Roman
17.03.2017
18:17:16

Alexey
17.03.2017
18:17:24
мы холиварили помню с другом на эту тему. он за си был )
мне вот нравится, что если я пишу
a = b / 3
то b / 3 это float

Admin
ERROR: S client not available

Andrey
17.03.2017
18:18:18
это в каком языке?

Alexey
17.03.2017
18:18:22
и там может быть че угодно. может B а может константа или хрен знает что. если я поделил, значит дробное число

Roman
17.03.2017
18:18:23

Alexey
17.03.2017
18:18:37
а в сях это будет что угодно, в зависимости от того, что такое b

Andrey
17.03.2017
18:18:43
в js и руби вроде только b / 3.0 будет float

Alexey
17.03.2017
18:18:47
если оно целое, то приведет к целому

Roman
17.03.2017
18:18:56

Alexey
17.03.2017
18:19:03
и поэтому там приходится делать всякие a = (float)b / 3
и то не всегда помогает

Roman
17.03.2017
18:19:16

Google

Roman
17.03.2017
18:19:46
или a = b/3f

Andrey
17.03.2017
18:19:57
имхо типы — даже если в языке типизация динамическая — лучше приводить явно
иначе будет WAT

Alexey
17.03.2017
18:20:09
да мне насрать, для чего это сделано. я за то, что формулу я написал. D = B^2 - 4*A*C и все. а какие там типы - почему я об этом должен думать?

Roman
17.03.2017
18:20:09
но сишный вывод типов конечно отвратительный, не то что хиндли-миллерный

Alexey
17.03.2017
18:20:38
будет чо?

Roman
17.03.2017
18:20:47

Alexey
17.03.2017
18:21:03
компилятор то знает, что если деление, то результат - FLOAT

Roman
17.03.2017
18:21:20

Alexey
17.03.2017
18:21:20
и если A не float, то давай досвидания

shadowjack
17.03.2017
18:21:34

Alexey
17.03.2017
18:21:37
паскаль
A := B / 2;

Roman
17.03.2017
18:22:08

Alexey
17.03.2017
18:22:19
компилятор знает типы A и B потому что если я их в VAR не написал, то работать не будет

Andrey
17.03.2017
18:22:25
https://www.destroyallsoftware.com/talks/wat вот это WAT

Roman
17.03.2017
18:22:28
когда нужна математика, то это ок, но яп уже давно не толкьо дял математики

Alexey
17.03.2017
18:22:48
я все равно не понял, почему паскаль не выжил
я тебе мысль какую хочу свою донести
если я задаю в паскале формулу математическую, то у меня меньше шансов ошибиться в том, чтобы понять по коду, чего она там считает