LINUX.ORG.RU

История изменений

Исправление AndreyKl, (текущая версия) :

Смотря какие. d[0.5] = 2 в Python работает.

Как по мне так аргумент так себе.

То есть, с точки зрения использования, лучше какая-то система контрактов, которые проверяются по возможности статически (если компилятор может доказать).

Кмк, зависимые типы и есть замечательный (и достаточно простой) способ указывать эти контракты. Причём этот способ довольно гибко подстраивается под квалификацию программиста и текущую итерацию проекта.

Программисту, как правило, совсем не требуется явно прописывать условия зависимых типов. Ему надо, чтобы контракт проверялся и чтобы он проверялся минимальное количество раз (в идеале при компиляции).

В зависимых типах как раз проверяется при компиляции всё что может (в идеале всё).

И это уже работает даже в компиляторах C++.

Видимо, именно поэтому если программа на с++, то она даже после 10 лет фиксов хоть где то да сигфолтится.

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

Исправление AndreyKl, :

Смотря какие. d[0.5] = 2 в Python работает.

Как по мне так аргумент так себе.

То есть, с точки зрения использования, лучше какая-то система контрактов, которые проверяются по возможности статически (если компилятор может доказать).

Кмк, зависимые типы и есть замечательный (и простой) способ указывать эти контракты. Причём этот способ довольно гибко подстраивается под квалификацию программиста и текущую итерацию проекта.

Программисту, как правило, совсем не требуется явно прописывать условия зависимых типов. Ему надо, чтобы контракт проверялся и чтобы он проверялся минимальное количество раз (в идеале при компиляции).

В зависимых типах как раз проверяется при компиляции всё что может (в идеале всё).

И это уже работает даже в компиляторах C++.

Видимо, именно поэтому если программа на с++, то она даже после 10 лет фиксов хоть где то да сигфолтится.

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

Исправление AndreyKl, :

Смотря какие. d[0.5] = 2 в Python работает.

Как по мне так аргумент так себе.

То есть, с точки зрения использования, лучше какая-то система контрактов, которые проверяются по возможности статически (если компилятор может доказать).

Кмк, зависимые типы и есть замечательный (и простой) способ указывать эти контракты. Причём этот способ довольно гибко подстраивается под квалификацию программиста и текущую итерацию проекта.

Программисту, как правило, совсем не требуется явно прописывать условия зависимых типов. Ему надо, чтобы контракт проверялся и чтобы он проверялся минимальное количество раз (в идеале при компиляции).

В зависимых типах как раз проверяется при компиляции всё что может (в идеале всё).

И это уже работает даже в компиляторах C++.

Видимо, именно поэтому если программа на с++, то она даже после 10 лет фиксов хоть где то да сигфолтится.

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

Исходная версия AndreyKl, :

Смотря какие. d[0.5] = 2 в Python работает.

Как по мне так аргумент так себе.

То есть, с точки зрения использования, лучше какая-то система контрактов, которые проверяются по возможности статически (если компилятор может доказать).

Кмк, зависимые типы и есть замечательный (и простой) способ указывать эти контракты. Причём этот способ довольно гибко подстраивается под квалификацию программиста и текущую итерацию проекта.

Программисту, как правило, совсем не требуется явно прописывать условия зависимых типов. Ему надо, чтобы контракт проверялся и чтобы он проверялся минимальное количество раз (в идеале при компиляции).

В зависимых типах как раз проверяется при компиляции всё что может (в идеале всё).

И это уже работает даже в компиляторах C++.

Видимо, именно поэтому с++ если программа на с++, то она даже после 10 лет фиксов хоть где то да сигфолтится.

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