Size: a a a

Типы в языках программирования, моделирования, представления знаний и жизни

2022 January 24

DP

Dmitry Popov in Типы в языках программирования, моделирования, представления знаний и жизни
И аналогично для других типов, если для всех определён дефолт
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Это и есть синтаксический сахар. 😊
источник

DP

Dmitry Popov in Типы в языках программирования, моделирования, представления знаний и жизни
Да
источник

AC

Alexander Chichigin in Типы в языках программирования, моделирования, представления знаний и жизни
Так проще всего.
Можно, конечно, добавить отдельно в операционную (или ещё какую) семантику, но тогда лишние правила будут мешаться в доказательствах типа soundness.
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
хм.. вопрос:

Если
v :: Nat
рассахаривается в
v :: Nat = 0
то что происходит когда я пишу
v :: Nat
v = 3
?

Получается что в компайл-тайме перезаписывается значение для v ?
То есть сначала
v :: Nat
рассахарится в
v :: Nat = 0
в результате чего v становится равным 0, а после обработки
v = 3
v становится равным 3.
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
Это язык-то какой? Если хаскелль, то v :: Nat без v = 3 это ошибка компиляции
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
Ну я говорю о гипотетическом языке, в котором

v :: Nat
рассахаривается в
v :: Nat = 0
источник

АП

Антон Пилипчук... in Типы в языках программирования, моделирования, представления знаний и жизни
это может быть и хаскель, но с указанным сахаром
источник

K

Kir in Типы в языках программирования, моделирования, представления знаний и жизни
Лично я против дефолтных значений в определениях и мутаций вне выделенных переменных, так что ничего не подскажу
источник

DP

Dmitry Popov in Типы в языках программирования, моделирования, представления знаний и жизни
v :: Nat
v = 3
можно также преобразовать в
v :: Nat = 3
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
ну, можно рассахаривать
val :: Type

без определения в
val :: Type
val = default

где
class Default a where
   default :: a
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
но зачем?
источник

goldstein опять in Типы в языках программирования, моделирования, представления знаний и жизни
если ты действительно хочешь дефолтное значение, то не так сложно написать
val = default

а если ты случайно пропустил / удалил / потерял при мёрдже строчку с определением, то ты хочешь ошибку компилятора
источник

a

adam in Типы в языках программирования, моделирования, представления знаний и жизни
2 раза перечитал диалог так и не понял, почему v :: Nat = 0?
источник

DH

Dark Hole in Типы в языках программирования, моделирования, представления знаний и жизни
Мне кажется это надо в цитаты
источник

E

Eugene in Типы в языках программирования, моделирования, представления знаний и жизни
ага, учитывая, что в одной из математических школ натуральный ряд чисел вообще не включает ноль
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
...когда надо v :: Nat = fix S
источник

a

adam in Типы в языках программирования, моделирования, представления знаний и жизни
v :: f v = fix v
точнее
источник

[

[BRM]White Rabbit in Типы в языках программирования, моделирования, представления знаний и жизни
Класс
источник

a

adam in Типы в языках программирования, моделирования, представления знаний и жизни
добро пожаловать в идт
источник