Size: a a a

2021 January 30

AK

Andrei Kurosh in pro.net
Есть фшарп, есть хаскель
источник

E

EgorBo in pro.net
Andrei Kurosh
Видимо он имел в виду, что результат чистой функции от константы можно было бы вычислять при компиляции
вызывать либсишный косинус? а если я кросскомпилирую для арма?
источник

AT

Alexey Tkachenko in pro.net
EgorBo
всмысле? как вычислить косинус от 1 через атрибут??
Косинус о константы константа, косинус вычисленный дважды даст одинаковый результат
источник

IC

Ilya Chernoudov in pro.net
Локальные функции и лямбды не захватывают переменные, а когда ты пометил функцию чистой - то надо верить на слово, что все методы внутри чистые?🤔
источник

E

EgorBo in pro.net
Alexey Tkachenko
Косинус о константы константа, косинус вычисленный дважды даст одинаковый результат
т.е. если я помечаю метод как [Pure] внутри него есть неизвестный пинвок куда-то в натив - джит должен его исполнить?
источник

E

EgorBo in pro.net
не звучит ок
источник

IC

Ilya Chernoudov in pro.net
EgorBo
т.е. если я помечаю метод как [Pure] внутри него есть неизвестный пинвок куда-то в натив - джит должен его исполнить?
Надо верить джентльменам наслово
источник

E

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

AT

Alexey Tkachenko in pro.net
EgorBo
т.е. если я помечаю метод как [Pure] внутри него есть неизвестный пинвок куда-то в натив - джит должен его исполнить?
[Pure] должен стать вирусным, как и nullable reference
источник

E

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

IC

Ilya Chernoudov in pro.net
Alexey Tkachenko
[Pure] должен стать вирусным, как и nullable reference
И всё это ради констант?
источник

E

EgorBo in pro.net
математические ф-ции - спешал кейс. даже в С++ компиляторах они захардокженны
источник

AT

Alexey Tkachenko in pro.net
EgorBo
математические ф-ции - спешал кейс. даже в С++ компиляторах они захардокженны
В D было ключевое слово pure для любой пользовательской функции, и я не вижу проблемы импорт из либцэ тоже размечать
источник

E

EgorBo in pro.net
не вижу причин давать юзерам это в руки, вот рил ни одной
источник

A

Aloraman in pro.net
А гарантии есть, что Math.Something(const) - это константа, одинаковая на всех архитектурах всегда?
источник

AT

Alexey Tkachenko in pro.net
Разметка pinvoke тоже в значительной степени произвольная, и все знают, что если сигнатура на этой стороне не дружит с той, то будет попоболь
источник

E

EgorBo in pro.net
мат функции заспешал кейсили (как и в С++) и хватит
источник

E

EgorBo in pro.net
Aloraman
А гарантии есть, что Math.Something(const) - это константа, одинаковая на всех архитектурах всегда?
нет
источник

AT

Alexey Tkachenko in pro.net
EgorBo
нет
Эээээ.... А пример?
источник

AT

Alexey Tkachenko in pro.net
В военное время на арме синус может достигать трёх?
источник