Date: 2014-03-11 07:43 pm (UTC)
From: [identity profile] vit-r.livejournal.com
We have found performance of the type inference engine to be adequate in most cases, although due to the quadratic complexity of constraint reduction it can blow up on large constraint sets.

Это называется Писец Эрлангу. Хотя, нет ни одной теории, которую нельзя было бы продемонстрировать на тривиальных примерах.

Date: 2014-03-11 07:45 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Вдогонку: путь к знаниям выглядит очень забавно "papers/erlang/erlang.pdf". Это симптомпчик.

Date: 2014-03-11 10:27 pm (UTC)
From: [identity profile] migmit.livejournal.com
Не, настоящий писец не в этом. Он в том, что стипизировать обмен сообщениями они так и не осилили. Трудно их винить, ибо я сильно подозреваю, что без зависимых типов это ни фига не сделаешь. Но факт остаётся фактом. А эрланг без обмена сообщениями не интересен вообще никому.

Date: 2014-03-12 08:26 am (UTC)
From: [identity profile] dmytrish.livejournal.com
Я, конечно, извиняюсь за вырванность из контекста, но, насколько я понимаю, это имеет отношение только к инструментам типа dialyzer, а не к Эрлангу как языку, и то только на сложных выражениях типа кучи навороченных if и раздутых монструозных модулей (что и так есть bad practice). А отсутствие нормальных типов еще ни один мейнстримный язык не привело к Песцу, скорее наоборот, к бессмысленному и беспощадному успеху.

Date: 2014-03-12 08:33 am (UTC)
From: [identity profile] vit-r.livejournal.com
Развитие структуры типов приводит к возникновению рефлекшен-библиотек и прочим приёмам залезания в кишки в обход "правильного пути". После чего этот ужас заполняет всё и вся.

Date: 2014-03-12 08:40 am (UTC)
From: [identity profile] dmytrish.livejournal.com
Я не совсем понял вашу мысль. Вы о вредности развитой структуры типов для «правильного пути»? Что есть «правильный путь» и «структура типов»?

Date: 2014-03-12 11:43 am (UTC)
From: [identity profile] vit-r.livejournal.com
В реальных проектах на сложных задачах я ещё никогда не видел "правильную структуру типов", которую бы реальным программистам, решающим реальные задачи, не приходилось бы объезжать на кривой козе.

Date: 2014-03-12 11:52 am (UTC)
From: [identity profile] dmytrish.livejournal.com
А примеры сложных задач можно?

Date: 2014-03-12 11:54 am (UTC)
From: [identity profile] vit-r.livejournal.com
Связь бизнес-приложений, например. Да всё, где есть код старше 10 лет.

Date: 2014-03-12 12:06 pm (UTC)
From: [identity profile] dmytrish.livejournal.com
Почему вы считаете рефлекшн «кривой козой»? Не говорит ли это наоборот, о невыразительности типовых систем этих языков?

Какой критерий «реальности» задач? Считается ли написание компилятора, операционной системы или драйвера реальной задачей?

Date: 2014-03-12 12:09 pm (UTC)
From: [identity profile] vit-r.livejournal.com
Реальная задача приносит деньги. Компилятор или ось - это просто среда, в которой живут реальные задачи.

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

Date: 2014-03-12 04:14 am (UTC)
From: [identity profile] zyxman.livejournal.com
Спасибо, любопытно.

Date: 2014-03-12 04:59 am (UTC)
From: [identity profile] maxim.livejournal.com
Так это очень древняя статья Марлоу.
Костис Сагонас уже давно это все реализовал и это включено в Эрланг, называется dialyzer.
Типизировать сообщения можно при определенной организации кода.
В Эрланге как простой лямбде — это не система типов, а просто аннотации типов с типовыводом, как кложуровский core.typed.
Мой проект Erlang Om заключался в добавлении исчисления над этим аннотационным языком для функций на типах /\.
Думаю, если бы хотел сильно PhD, продолжил бы это.
Edited Date: 2014-03-12 05:00 am (UTC)

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
181920 21 222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 24th, 2025 03:39 am
Powered by Dreamwidth Studios