Согласен, ничего сверхинтересного в Charity нету (делая скидку на мой уровень понимания категорий). Я просто ответил первое, что пришло в голову по ключевым словам.
Он сделал свой язык на F,G-диалгебрах. Charity - это его последователи. Правда, егоные диаглебры существенно от начальных алгебр и терминальных коалгебр не отличаются - если разрешить все начальные либо терминальные F,G-диалгебры, то категория вырождается. Правда, можно было попробовать ограничивать в другом направлении. Надо будет подумать.
Возможно, что она очень интересна для теорiи, однако для практической работы эта система явно не годится... Есть уже тысячи такихъ мертвыхъ языковъ и системъ программированiя.
Charity было интересно, как примитивный, но чисто категорный язык.
> Есть уже тысячи такихъ мертвыхъ языковъ и системъ программированiя.
Каких это "таких"? В смысле, "таких", это мёртвых? Категорных языков, насколько я знаю, только несколько. И после некоторой подготовки, можно делать такие языки запросто, но их не делают. Очевидно, как и я, прикидывают, зачем нужно выпускать ещё один и не засорит ли это эфир? ;-)
Да, я имѣлъ въ виду языки, придуманные изъ теоретическихъ соображенiй, - вотъ какъ вы и сказали, знающiй человѣкъ можетъ придумывать такiе языки запросто, затѣмъ два-три китайскихъ аспиранта пишутъ реализацiю компилятора или интерпретатора, послѣ чего всё умираетъ.
Главный вопросъ - какiе языки реально помогают рѣшать практическiя задачи. Вотъ пока что мы видимъ, что система Coq написана на OCAML (правда, безъ объектовъ), а также мы видимъ, что всѣ реально работающiе большiе проекты написаны съ использованиемъ ОО парадигмы...
Ну во-первых, не все. Во-вторых, их большинство, да. Но не потому, что функциональщина, это как-то очень плохо, а до сих пор, очень мало она распостранена. Даже такой язык, как Scala, и то, не очень-то получил распостранение, хотя и полностью живёт на Java-платформе.
Насчёт ОО-парадигмы, ну так что в ней такого особенного для функциональных языков с достаточно развитой типизацией? Даже если не говорить про такие, как Agda. Это ж объективно.
В качестве иллюстрации ложности последнего заключения.
Вот если говноуборочной машиной управлять сложно, и у нас только два водителя, и ещё тысяча неучей с лопатами, то большинство говна будет убрано лопатами. И если посмотреть с одной стороны, то лопата лучше помогает убирать говно, потому что ей хотя бы умеют пользоваться, но можно ведь посмотреть и с другой.
Можно было бы и помягче как-то! ;-) Например, про копание траншеи землекопами и экскаватором. Правда, про бОльшую производительность придётся доказывать.
Reply
Reply
Reply
Согласен, ничего сверхинтересного в Charity нету (делая скидку на мой уровень понимания категорий). Я просто ответил первое, что пришло в голову по ключевым словам.
А кто такой Хагин и что за вещи у него?
Reply
http://www.tom.sfc.keio.ac.jp/~hagino/
Reply
Charity - это его последователи.
Правда, егоные диаглебры существенно от начальных алгебр и терминальных коалгебр не отличаются - если разрешить все начальные либо терминальные F,G-диалгебры, то категория вырождается.
Правда, можно было попробовать ограничивать в другом направлении.
Надо будет подумать.
Reply
Reply
Reply
Reply
Reply
> Есть уже тысячи такихъ мертвыхъ языковъ и системъ программированiя.
Каких это "таких"? В смысле, "таких", это мёртвых?
Категорных языков, насколько я знаю, только несколько.
И после некоторой подготовки, можно делать такие языки запросто, но их не делают.
Очевидно, как и я, прикидывают, зачем нужно выпускать ещё один и не засорит ли это эфир? ;-)
Reply
Главный вопросъ - какiе языки реально помогают рѣшать практическiя задачи. Вотъ пока что мы видимъ, что система Coq написана на OCAML (правда, безъ объектовъ), а также мы видимъ, что всѣ реально работающiе большiе проекты написаны съ использованиемъ ОО парадигмы...
Reply
Во-вторых, их большинство, да. Но не потому, что функциональщина, это как-то очень плохо, а до сих пор, очень мало она распостранена.
Даже такой язык, как Scala, и то, не очень-то получил распостранение, хотя и полностью живёт на Java-платформе.
Насчёт ОО-парадигмы, ну так что в ней такого особенного для функциональных языков с достаточно развитой типизацией? Даже если не говорить про такие, как Agda. Это ж объективно.
Reply
Reply
Вот если говноуборочной машиной управлять сложно, и у нас только два водителя, и ещё тысяча неучей с лопатами, то большинство говна будет убрано лопатами. И если посмотреть с одной стороны, то лопата лучше помогает убирать говно, потому что ей хотя бы умеют пользоваться, но можно ведь посмотреть и с другой.
Reply
Например, про копание траншеи землекопами и экскаватором.
Правда, про бОльшую производительность придётся доказывать.
Reply
Leave a comment