Я тут понял удивительную вещь. Одно из тех открытий, когда вдруг понимаешь, что всю жизнь говорил прозой. Ну когда обнаруживаешь, что ты какую-то вещь считал естественной, считал что вообще все вокруг так думают, а оказывается, ровно наоборот: так не думает почти никто
(
Read more... )
Только въ FP математика реально используется для построенiя языка программированiя и для написанiя программъ. Только въ FP построенiе языковъ и программъ можно формализовать достаточно содержательнымъ образомъ, чтобы программистъ могъ думать о программѣ въ терминахъ "здѣсь у меня коварiантный функторъ - здѣсь у меня естественное преобразованiе - значитъ, тутъ тоже долженъ быть коварiантный функторъ" и создавать кодъ, пользуясь этими концепцiями.
Reply
Reply
Иными словами, дается рекомендацiя дѣлать такiе языки программированiя, для которыхъ предметная область разнообразныхъ индуктивныхъ алгебраическихъ конструкцiй является "декларативной предметной областью", т.е. чтобы на данномъ языкѣ было легко и просто записать аксiоматику Пеано или аксiомы категорiи или другiя такiя вещи.
Неочевидно, что эта гипотеза вѣрна. Пока что, напримѣръ, неочевидно, что Coq, Agda и Idris существенно облегчаютъ программированiе по сравненiю съ OCaml и Haskell.
Reply
Не совсем; я считаю, что языки программирования в идеале должны в том числе подходить и для этого. Я нигде не утверждаю, что этого достаточно для декларативного описания других предметных областей. Пример языка Coq отлично иллюстрирует эту мысль - в этом языке напрочь отсутствует машинерия для концептуализации чего бы то ни было, выходящего за пределы конструктивной математики. (В Idris 2 это уже не так.)
Reply
Если для построенiя этихъ библiотекъ сильно помогаютъ индуктивно опредѣленныя алгебраическiя конструкцiи, или разныя модальности и т.п., то въ принципѣ Сoq и Idris должны бы всѣхъ положить на лопатки. Но этого пока не видно. Ну, или пока мы не поняли, какъ надо правильно использовать Coq и Idris, какiе нужны "модальности" и т.п.
Reply
Я полагаю, что в этом отношении мы просто стоим в самом начале пути. В особенности это касается субструктурных модальностей, которые только-только наклюнулись в Idris 2 и вообще отсутствуют где-либо ещё.
Reply
Reply
Leave a comment