Size: a a a

2020 August 19

АГ

Александр Гранин... in ФП
Модули ocaml, говорят, куда более навороченные.
источник

L

LevT in ФП
нет, есть только имитация через точки в именах
источник

АГ

Александр Гранин... in ФП
Не только точки, но и необходимость помещать модули в соответствующие подпапки
источник

L

LevT in ФП
В powershell у модулей своя scope.

BNF для него нигде нет (надо полагать, от неё офигели бы и скриптеры, и их адвокаты в менеджменте) .
Но мой реверс-инжиниринг совпал с доступными презентациями и примерами:

вместо стейтментов и даже выражений, его код состоит из многострочных кложур, где каждая строка - пайплайн, аналог джава стрима
(точнее наоборот, и даже Linq развитие идеи powershell)

Так вот, есть чувство что иерархически вложенные модули у него на том же уровне, где кложуры и пайплайны-стримы
источник

L

LevT in ФП
Александр Гранин
Не только точки, но и необходимость помещать модули в соответствующие подпапки
В повершеле модули могут создаваться динамически.
В противном случае они должны сопровождаться метадатой.
И вообще персистентный код исполняется иначе, чем динамический.
Содержимое файла ps1 - семантически кложура
источник

АГ

Александр Гранин... in ФП
Повершелл же динамический язык?
источник

АГ

Александр Гранин... in ФП
По понятным причинам в статических языках сделать такое сложнее значительно
источник

L

LevT in ФП
Формально так, на практике сложнее.
Там своя Extensible Type System, в которую оборачивается всё включая объекты дотнета.
И внутри всё вполне строго

(было по замыслу разработчиков, но адвокаты скриптеров всё испортили
Тем не менее порчу можно игнорировать - если относиться к ней именно как к порче)
источник

L

LevT in ФП
Переслано от LevT
Monad Manifesto (Annotated)
источник

L

LevT in ФП
Например судя по этому манифесту, шелл задумывался как всего лишь один из компонентов.
источник

АГ

Александр Гранин... in ФП
Monad Manifesto?
источник

L

LevT in ФП
Он самый
источник

L

LevT in ФП
С комментариями от современного авторитетного клинкодера - Don Jones
источник

АГ

Александр Гранин... in ФП
Кажется, это надо изучить. А то 2002 год, и что-то со словом Monad. В каком оно там смысле используется
источник

L

LevT in ФП
В прямом. Они хотели прямо весь матан заюзать какой знали, а знали много
источник

АГ

Александр Гранин... in ФП
LevT
В прямом. Они хотели прямо весь матан заюзать какой знали, а знали много
И как, получилось?
источник

L

LevT in ФП
Ну их кормили майки, и их продукт задеплоили всем домохозяйкам.
В какой-то момент им пришлось пойти на компромисс
источник
2020 August 21

L

LevT in ФП
Александр Гранин
Да, кстати. Системы сборки такие сложные не потому, что люди там что-то перемудрили, а потому что предметная область такая сложная. То самое различие между essential и accidental complexity. Предметная область сборки проектов по природе сложна. Никакими техническими подходами это нельзя решить, максимум - немного сгладить.
Благодарю отдельно, заинтересовали вы меня Кметтом, вот тут в ролике
https://youtu.be/j0XmixCsWjs?t=470

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

АГ

Александр Гранин... in ФП
Вы С++ видели когда-нибудь?
источник

АГ

Александр Гранин... in ФП
Впрочем, это неважно. Как я уже сказал, если вы что-то видите, то надо идти и писать код
источник