Size: a a a

2020 March 29

н

невидимка in pro.net
не всегда это выглядит плохо и не всегда это например места больше занимает
источник

н

невидимка in pro.net
но это просто лишние сущности в языке, которых могло бы не быть
источник

н

невидимка in pro.net
а чем больше сущностей, тем сложнее язык
источник

AD

Aleksandr Drozdov in pro.net
Если бы их совсем не было в фшарпе, например, на нем бы тоже никто не писал.
А так-то let a = b это синтаксически стейтмент и совсем не выражение
источник

н

невидимка in pro.net
не совсем
источник

н

невидимка in pro.net
printf "%O" (let a = 123 in a) // "123"
источник

E

EgorBo in pro.net
невидимка
стейтменты не композятся
заставляют писать кот понятно зато
источник

н

невидимка in pro.net
да ты дед просто
источник

E

EgorBo in pro.net
а то everything is expresssion развязывает руки
источник

н

невидимка in pro.net
тебе все непонятно
источник

E

EgorBo in pro.net
и потом начинается свситопляка хуй разберешь
источник

AD

Aleksandr Drozdov in pro.net
невидимка
printf "%O" (let a = 123 in a) // "123"
Во всяких лиспах, если я не ошибаюсь, это пишется как
(setq x 123; x)
источник

AD

Aleksandr Drozdov in pro.net
Первое - стейтмент.
Второе - выражение.
Между ними - точка с запятой
источник

AH

Ayrat Hudaygulov in pro.net
В фшарпе так тоже можно
источник

AD

Aleksandr Drozdov in pro.net
Так вот in в твоем примере - это "точка с запятой"
источник

AH

Ayrat Hudaygulov in pro.net
let a = 123; a
источник

AH

Ayrat Hudaygulov in pro.net
Aleksandr Drozdov
Так вот in в твоем примере - это "точка с запятой"
Это ML compatibility
источник

AD

Aleksandr Drozdov in pro.net
Кстати, да. В лиспе как раз это по другому выглядит. А вот во всяких ml так можно
источник

н

невидимка in pro.net
Aleksandr Drozdov
Во всяких лиспах, если я не ошибаюсь, это пишется как
(setq x 123; x)
можно разбить let a = 123 in a на два подвыражения
1. let a = 123 - является значением типа Binding<'a>
2. %% in a - является инфиксным оператором с типом Binding<'a> -> 'a
источник

AD

Aleksandr Drozdov in pro.net
> 1. let a = 123 - является значением типа Binding<'a>

Не является
источник