Size: a a a

2020 March 05

AZ

Alex Zhukovsky in rust_offtopic
Doge Shibu
Вот, простейший пример, обьявление того, что для любого списка xs и любой функции f, такой что для любого элемента x из xs верно f x = x, то map f xs = xs:

map-id₂ : ∀ {f : A → A} {xs} → All (λ x → f x ≡ x) xs → map f xs ≡ xs
map-id₂ []           = refl
map-id₂ (fx≡x ∷ pxs) = P.cong₂  _∷_  fx≡x (map-id₂ pxs)


Оригинал тут:
https://agda.github.io/agda-stdlib/v1.1/Data.List.Properties.html#2568
как это редактировать через консольные ascii-only редакторы?
источник

T

Tux in rust_offtopic
Вафель
Ну в идее ^/ — коммент через //, а ^shift+/ — через /**/.

> да и fmt деструктвризует их
Эээм, не должен вообще. У меня он так не делает...
я саблайм использую, очевидно
источник

DS

Doge Shibu in rust_offtopic
Alex Zhukovsky
как это редактировать через консольные ascii-only редакторы?
Оно через emacs работает, если что, это главный редактор для агды.
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Оси на этом не пишутся, там чуть хитрее процесс, это все используется для формального доказательства нужных свойств модели.
То есть, для обычного софта оно не нужно?
источник

r

red75prime in rust_offtopic
Roman Proskuryakov
ну да. всем подавай простой С++
Ну да, ведь сложность может быть только одного вида.
источник

AZ

Alex Zhukovsky in rust_offtopic
Doge Shibu
Оно через emacs работает, если что, это главный редактор для агды.
вот и все, шах и мат
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Оно через emacs работает, если что, это главный редактор для агды.
А рефакторить это как?
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
То есть, для обычного софта оно не нужно?
Это средства для доказательства свойств, которые являются сами по себе языками программирования.

На них можно писать софт в силу их конструкции, но это не основная их цель. Их цель - это доказательства и их формальная проверка.
источник

T

Tux in rust_offtopic
Doge Shibu
Вот, простейший пример, обьявление того, что для любого списка xs и любой функции f, такой что для любого элемента x из xs верно f x = x, то map f xs = xs:

map-id₂ : ∀ {f : A → A} {xs} → All (λ x → f x ≡ x) xs → map f xs ≡ xs
map-id₂ []           = refl
map-id₂ (fx≡x ∷ pxs) = P.cong₂  _∷_  fx≡x (map-id₂ pxs)


Оригинал тут:
https://agda.github.io/agda-stdlib/v1.1/Data.List.Properties.html#2568
а что нижний индекс 2 означает?
источник

DS

Doge Shibu in rust_offtopic
Tux
а что нижний индекс 2 означает?
Там выше есть чуть другая формулировка, более узкая:
map-id : map id ≗ id {A = List A}
map-id []       = refl
map-id (x ∷ xs) = P.cong (x ∷_) (map-id xs)


Поэтому тут просто индекс 2, как то, что выше была формулировка 1
источник

Т8

Т-34 85 in rust_offtopic
Doge Shibu
Это средства для доказательства свойств, которые являются сами по себе языками программирования.

На них можно писать софт в силу их конструкции, но это не основная их цель. Их цель - это доказательства и их формальная проверка.
А это не оверкилл?
источник

DF

Dollar Føølish in rust_offtopic
А когда агда успела взлететь ? Обычно же был кок изабель
источник

AZ

Alex Zhukovsky in rust_offtopic
в тчему
источник

DS

Doge Shibu in rust_offtopic
Dollar Føølish
А когда агда успела взлететь ? Обычно же был кок изабель
А я сказал, что она взлетела? Кок и изабель чаще используются и на них реальные проекты делают.

Агду я привел как пример, потому что я её хоть как-то знаю.
источник

DF

Dollar Føølish in rust_offtopic
Ок, не так понял
источник

DS

Doge Shibu in rust_offtopic
Т-34 85
А это не оверкилл?
Смотря для чего.

Выразительность связанную с типами в таких языка, можно очень много где потенциально применить. Делать более выразительные и безопасные библиотеки и т.д.

Именно верификация софта - смотря где. Опять-таки в играх и массовом десктопном софте - пофигу на неё вообще.

В ОСях, серверном софте, всяких смарт-контрактах и финтехе - она вполне может найти свое место.
источник

DS

Doge Shibu in rust_offtopic
Там цена ошибки достаточно велика.
источник

В

Вафель in rust_offtopic
Tux
я саблайм использую, очевидно
Уверен что там тоже есть для этого хоткей, я просто его не знаю
источник

T

Tux in rust_offtopic
Вафель
Уверен что там тоже есть для этого хоткей, я просто его не знаю
Ctrl d же
источник

p

polunin.ai in rust_offtopic
Чуваки, помогите пж
Нужно составить диаграмму использования средства автоматизации автомобильного конвейера
Суть в том, что конвейер полностью автоматизирован, нужно придумать что-то, что может автоматизировать работу связанную с ним.
Вопрос, что можно оптимизировать? Чью работу?
источник