
Yuriy
23.07.2018
05:46:25

Imants
23.07.2018
06:05:42

Александр
23.07.2018
06:54:21
Ох, такой срачик пропустил ?
И да, Эрланг и Скала не ФЯ, так как не облегчают композицию функций. И да, Эрланг - это ООП в Алан Кеевском смысле

Google

Vadim
23.07.2018
07:11:20

Александр
23.07.2018
07:11:39
Облегчение ФП = простая композиция + простое каррирование

Vadim
23.07.2018
07:13:36

Yuriy
23.07.2018
07:13:47

Vadim
23.07.2018
07:13:54
_не облегчает_
у тебя черезчур громкое заявление.Я как то особых аргументов не увидел

Александр
23.07.2018
07:14:02

Vadim
23.07.2018
07:15:03
где правила группы?Я не вижу можно ли хуесосить людей

Александр
23.07.2018
07:15:05

Alexander
23.07.2018
07:22:29
написанных правил нету и не будет. Руководствуйтесь common sense, и нормами общения в приличном обществе

Vadim
23.07.2018
07:24:26

Александр
23.07.2018
07:25:20

Google

Alexander
23.07.2018
07:25:35

Yuriy
23.07.2018
07:26:14

Alexander
23.07.2018
07:26:46
хотя второе уже не ФП, а метапрограммирование

Yuriy
23.07.2018
07:27:24

Alexander
23.07.2018
07:27:40
собственно лиспы это же не про ФП, а про метапрограммирование

Yuriy
23.07.2018
07:48:37
а как же первая реализация лямбда-исчисления?

A64m
23.07.2018
07:48:42
фп - это такое местечковое шотландское явление, даже эдинбуржское
все что происходит из работ милнера, тернера и работающих над нпл - фя, остальное нет.
(т.е. тернер-то выбивается из этого географического правила, но у остальных все в порядке с этим)

IC
23.07.2018
08:17:27
> stack new now allows template names of the form username/foo to download from a user other than commercialstack on Github, and can be prefixed with the service github:, gitlab:, or bitbucket:.
Так сломим царство гитхаба ростовщического. Только в такие инструменты не стыдно веровать.

Index
23.07.2018
08:20:06
Это не предел мечтаний, можно и другие системы анализа придумать, но как их реализовывать толком неясно
А все что динамическое, это не типы в принципе
Советую прочитать секцию 1.1 в "Types and Programming Languages" Пирса
Если честно, вынести б эту главу на какую-нибудь веб-страницу и кидать ссылку каждый раз, когда начинается ко-ко-ко про то, что динамические типы это не оксюморон

A64m
23.07.2018
08:32:45
тут и так накидали уже, на двух языках

Александр
23.07.2018
08:33:05
Эти хаскеллисты такие снобы. Не дают другим причаститься к лагерю ФПшников, динамические ЯП не считают за ЯП, и говорят, что там типов нет...

Alister
23.07.2018
08:33:44
есть там типы
точнее тип
?

Google

A64m
23.07.2018
08:34:40
поскольку сейчас ФП-фичи той или иной степени костыльности во всех языках - определять принадлежность как ФЯ по минимуму - это значит все языки как ФЯ определить

Александр
23.07.2018
08:36:05
Или со скалистами, которые пишут на Скале как на Джаве, но из-за самого факта использования Скалы считают себя функциональщиками?

A64m
23.07.2018
08:37:07
эрлангистов скоро не будет - не будет и проблемы

Александр
23.07.2018
08:37:37
В то же время, когда JS-разработчики, композируя функции, даже не догадываются, что делают ФП?

Sunny
23.07.2018
08:37:45

Александр
23.07.2018
08:38:01

Alister
23.07.2018
08:38:39

A
23.07.2018
08:39:00
?
ты начал делать call/cc в js?

Alister
23.07.2018
08:39:58
начал делать частичные функции, нормально использовать трамплины и рекурсию где можно

Alister
23.07.2018
08:40:48
и стараюсь писать функции без стейта через мапы и функторы

???????
23.07.2018
08:44:07

A64m
23.07.2018
08:45:47
вы продолжаете настаивать на том, что типы якобы означают обязательно какие-то интересные гарантии, хотя сами же приводили пример плюсов где типы есть а с гарантиями все не особо хорошо
потому что хаскель это язык с удобствами для написания обобщенного кода с минимальной безопасностью для того чтоб это все не разваливалось
не пруфассистант. все эти потуги в сторону "тотальности" в хаскеле - это как ФП на C++

Александр
23.07.2018
08:47:21
Мы же уже выяснили, что эта картинка не может свидетельствовать о снижении абсолютного количества разработчиков/проектов?

A64m
23.07.2018
08:47:43
да, но это не важно

Александр
23.07.2018
08:50:03
да, но это не важно
Ну, вообще есть Прокопов, который отказался от Эрланга в пользу Кложи, хотя и неизвестно, это разовый случай или тенденция.

Google

Александр
23.07.2018
08:50:36

A64m
23.07.2018
08:50:36
кложа на графике падает быстрее эрланга

???????
23.07.2018
08:51:36

A64m
23.07.2018
08:52:34
ну да, можно не давать программисту доступ к мутабельным ссылкам, например, и прочие похожие ограничения ввести, но это не для языка общего назначения, конечно

Александр
23.07.2018
08:53:25

A64m
23.07.2018
08:53:47
т.е. типы и "гарантии" совсем не одно и то же. типы в статике для генерации кода, а гарантии - это как повезет (чаще всего никак не повезет)

???????
23.07.2018
08:59:23

Index
23.07.2018
08:59:38
Только она не про типы

Admin
ERROR: S client not available

A64m
23.07.2018
08:59:48
с другой стороны, как верно подметил тот же пирс - особо интересных "гарантий" для того чтоб от них польза была и не надо

Index
23.07.2018
09:00:10
Проверки в рантайме это assertions
И их можно писать в тридцать раз более интересные, чем Int /= Bool

Александр
23.07.2018
09:03:24

???????
23.07.2018
09:03:37
Проверки в рантайме это assertions
Я сейчас спрошу и что же они проверяют, а мне ответят, что теги, а не типы, и всё начнётся заново и мне будут пытаться объяснить, что две сущности предназначенные для одного и того же, основанные на одном и том же, одинаковые на вид и крякающие одним голосом совершенно разные ибо у них разная реализация и обобщать их до одного понятия ни в коем случае нельзя.

Index
23.07.2018
09:04:16
И вот мой взгляд на проблему "динамического ФП"
ФП - это парадигма, где функции (в правильном, математическом определении функции) это first-class values. При должном желании, писать в ФП-стиле можно на любом языке с подпрограммами, потому что избегать сайд-эффектов никто не запрещает.
Но называться ФП-языком может только язык, который активно способствует такому стилю, т.е. статически запрещает сайд-эффекты

Александр
23.07.2018
09:04:17
> то две сущности предназначенные для одного и того же, основанные на одном и том же, одинаковые на вид и крякающие одним голосом совершенно разные
Они могут быть эквивалентными в каком-либо смысле, но они разные.


Index
23.07.2018
09:05:05
> что две сущности предназначенные для одного и того же, основанные на одном и том же, одинаковые на вид и крякающие одним голосом совершенно разные
Их фундаментальное различие в том, проверяются ли они до или после запуска программы
Я не знаю как можно просто закрыть глаза на это колоссальное различие и свалить две фундаментально разные вещи в одну кучу из-за поверхностной схожести

A64m
23.07.2018
09:06:09

Google

Index
23.07.2018
09:06:44
Ну да, возьмем хотя бы тот факт, что рантайм-тегами могут служить только монотипы
А статические типы без полиморфизма это хуже, чем отсутствие типов

???????
23.07.2018
09:09:48

Index
23.07.2018
09:10:40
> эквивалентно принадлежности значения допустимому типу
Ну во-первых не эквивалентно, а похоже в первом приближении

A64m
23.07.2018
09:10:54
одни чтоб не выполнялась до конца - как ассерты, а другие чтоб не компилировалась, и еще для других целей для генерации кода например
но пересечение по функциональности притянуть можно - только вот с ассертами у "динамических" "типов" пересечение получше

???????
23.07.2018
09:11:33

Index
23.07.2018
09:11:51
понятия множества и типа разные
Секция 1.1, "Type theory versus set theory"
Если что, то это общие соображения и они не про HoTT, это по сути кусок предисловия скорее

A64m
23.07.2018
09:13:54
типы классифицируют термы, а не значения, как процитировано выше из пирса - это синтаксическое явление, какие там значения-то?

Александр
23.07.2018
09:13:56

A64m
23.07.2018
09:14:16
я уж не говорю, что тайпчек различает вообще не населенные типы

Index
23.07.2018
09:14:31

Александр
23.07.2018
09:15:18
Спасибо, я стараюсь ?

???????
23.07.2018
09:15:22

A64m
23.07.2018
09:15:38
ну да, можно так сказать

???????
23.07.2018
09:17:10
Интересно. Получается в динамических языках проверяются теги, в статических тоже проверяются теги, но в другой момент времени и это СОВЕРШЕННО разные теги, а ещё одни можно называть типами, а другие нет.

A64m
23.07.2018
09:17:43
да, именно так
проверяются разные вещи, в разное время - видите, все разное