Loyd
Ну, противоречий нет
Anonymous
потому что енумерации с большой буквы
Loyd
Но вот true/false как кейворды это спорно
Loyd
потому что енумерации с большой буквы
Кастомные типы аля примитивы с маленькой
Anonymous
примитивы это не енумерации
Loyd
примитивы это не енумерации
Какая разница, что за типом?
Loyd
Там может быть енумерация, а может и нет
Loyd
Это абстракция
Loyd
И вот для примитивов решили с маленькой
Loyd
Для непримитивов с большой
Loyd
А алгтд там или нет это к делу отношения не имеет
Loyd
Если ты будешь свои числа писать, их тоже канонично будет с маленькой назвать
Loyd
std источник
պլհկ
Но вот true/false как кейворды это спорно
удобно чтобы умники не делали #define true false
Loyd
И как это они в расте сделают?
Anonymous
std источник
где там написано про это?
Loyd
где там написано про это?
Стандартная библиотека так написана
Anonymous
да
Oleg
И как это они в расте сделают?
true = false если бы это были не ключевые слова
Loyd
Что канонично определяемся именно этим
Anonymous
-в стандартной библиотеке все- примитивные типы захардкожены
Loyd
Ещё раз: они бы в преамбуле инклюдились
Loyd
Глобально не поменять
Oleg
Можно не глобально, можно в одной функции
Oleg
Все равно возможно :)
Anonymous
и это сразу будет видно
Anonymous
зачем запрещать?
Loyd
Эм. Чем true не подходит для имени переменной?
Loyd
Давайте дальше пойдём, Ok и Err сделаем кейвордами
Anonymous
ну я уже говорил)
Loyd
Угу
Loyd
Это скорее "доведение до абсурда"
Loyd
И это хороший аргумент
Anton
думаю на нем и буду делать
Anton
я план уже примерный придумал как организовать парсинг
պլհկ
для Result и так уже спец синтаксис есть
Loyd
Это где?
Anton
но сначала прогу доделаю, потом уже остальное по мелочи
պլհկ
?
Marat
И это хороший аргумент
>доведение до абсурда >Хороший аргумент Выбери что-то одно
Anonymous
>для result
Loyd
>доведение до абсурда >Хороший аргумент Выбери что-то одно
Эм. Если теорию можно довести до абсурда не выходя за рамки теории, то её надо корректировать
Loyd
Так что да, доведение до абсурда это отличный аргумент
Marat
Окей давайте все в языке сделаем енумом
Oleg
Так что да, доведение до абсурда это отличный аргумент
Давайте тогда будет использовать church encoding для целых чисел как в идрисе
Anonymous
есть Try трейт
Loyd
?
И где там result?
Oleg
Чтобы парсер упростить
Marat
Пусть все числа енумом будут
Loyd
С вычитанием
Loyd
Ну вы знаете
Anonymous
Давайте тогда будет использовать church encoding для целых чисел как в идрисе
ну оно имеет смысл при достаточных оптимизациях
Loyd
Нет таких оптимизаций. В том же идрисе оно компилится в обычные числа
Loyd
Это просто так рисуют его
Anonymous
лол
Anonymous
и паттерн матчинг чисел тоже упрощается?
Loyd
А что с ним не так?
Anonymous
ну ты же можешь паттерн матчить числа по репрезентации в church encoding
Loyd
Если ты в идрисе сделаешь свои числа чёрча, то эффективного вычитания не получишь )
Anonymous
нельзя считать превращение в обычные числа оптимизацией?
Loyd
Можешь попробовать, если хочешь
Anonymous
Могу. И?
ну мне просто интересно как оно компилируется
Loyd
Хм. В этом чатике этот спор уже был
Loyd
ну мне просто интересно как оно компилируется
НУ, компилятор знает про этот класс
Loyd
Ну, это не просто часть стд
Loyd
Вот, кстати, мне нравится, как в расте разделили core и std, чаще бы так
Anonymous
лол aturon написал rfc для превращения bool в enum
Anonymous
но оно отложено
Loyd
Так-с, что-то я потерял
Loyd
Вот смотрю сейчас idrisную std и там примитивы все int и прочее