Anonymous
Как по мне, к последним лучше ни-ни, ибо их реальный максимум - натаскивать чисто механически на общепризнанный набор действий, которые на самом деле ещё ничего не обещают.
Ilya
Вопрос! Как работать с деревьями выражений в f#?
Ilya
Quotations?
Tree expression
Shub
Которые бинарные деревья, штоле?
Anonymous
Tree expression
Это сишарповский ЭкспрешшионТри?
Anonymous
Не совсем c#, но да
А хули с ними работать, прости за мой французский? Ты хочешь получить дерево выражений для своих целей?
Anonymous
Для каких?
Anonymous
Ну ёпт, данные хочу загрузить через ef
Так через new Expression<> должно работать, и внутри функция.
Anonymous
Из эфшарпа.
Ilya
Круть!
Anonymous
Круть!
Я думал ты хочешь квотейшин своего кода получить и построить свой интерпретатор как наши друзья скалисты любят.
Anonymous
Скалисты такое как раз не делают особо (кроме quill), им не нужно
Да там в Скалачате же нередко приступы такие.
Doge
Да там в Скалачате же нередко приступы такие.
Ты скорее всего с чем то ещё путаешь, потому что квазицитаты как в дотнете, в скале только буквально пара либ юзает.
Anonymous
Ты скорее всего с чем то ещё путаешь, потому что квазицитаты как в дотнете, в скале только буквально пара либ юзает.
Нет, не сами цитаты, они метаописание предлагают по-разному сделать. Смысл же не в самом цитировании, а именно в дереве выражений.
Anonymous
Его несложно получить и другими стредствами.
Doge
Нет, не сами цитаты, они метаописание предлагают по-разному сделать. Смысл же не в самом цитировании, а именно в дереве выражений.
Не, тут разницы всё же много между просто квазицитатами и всякими eDSL того или иного рода, которые как раз там любят
Anonymous
Не, тут разницы всё же много между просто квазицитатами и всякими eDSL того или иного рода, которые как раз там любят
А какая разница, если суть в том что есть (произвольное) дерево выражений, которое что-то описывает и впоследствие интерпретируется в рантайме?
Doge
А какая разница, если суть в том что есть (произвольное) дерево выражений, которое что-то описывает и впоследствие интерпретируется в рантайме?
Большая разница в том, что щарповые квазицитаты описывают деревья выражений именно шарпа. В то время как там любят как-то интерпретировать именно какую-то свою eDSL, которая далеко не всегда маппится один к одному к языку хосту. Да и непосредственно сами AST там могут в реальном физическом виде и не появляются
Anonymous
Большая разница в том, что щарповые квазицитаты описывают деревья выражений именно шарпа. В то время как там любят как-то интерпретировать именно какую-то свою eDSL, которая далеко не всегда маппится один к одному к языку хосту. Да и непосредственно сами AST там могут в реальном физическом виде и не появляются
Да это уже не выглядит большой проблемой. Это уже вопрос самого языка, специфического для домена. Ну то есть да, есть проблемы, для которых цитаты кода - неадекватное описание и неудобное, но принципиально идея та же: дерево выражений прибито гвоздями и полная свобода интерпретаций. Очевидно влияние Гильбертовской школы и в принципе формальных систем на них, что впрочем и понятно - изначально же академический язык.
Doge
Что для квазицитат не работает по очевидным причинам.
Doge
И это ощутимо много чего меняет
Anonymous
Тут большая разница в плане подхода. Потому что если говорить про любимый там всеми TF, то его суть именно в том, что сохраняется и свобода интерпретации и свобода добавлять со стороны новые типы элементов к дереву
Это уже другое же. На самом деле, и для квазистат это работает, если внести в систему определённые договорённости. Но это, конечно, мракобесие, интересное только для теоретиков. Даже хеллоуворлд уже будет выглядеть непрезентабельно. Но я с тобой согласен - когда вопрос встаёт о том, какой формальный язык выбрать, то ответ часто неочевиден и возможность впоследствии все переиграть малой кровью помогает.
Doge
Это уже другое же. На самом деле, и для квазистат это работает, если внести в систему определённые договорённости. Но это, конечно, мракобесие, интересное только для теоретиков. Даже хеллоуворлд уже будет выглядеть непрезентабельно. Но я с тобой согласен - когда вопрос встаёт о том, какой формальный язык выбрать, то ответ часто неочевиден и возможность впоследствии все переиграть малой кровью помогает.
Мне кажется тут важная деталь ещё в том, что TF в этом плане сильно помогает именно библиотекам. Потому что позволяет любую eDSL библиотечную расширить или поменять её проведение как нужно. Либы с обильным использованием квазицитат обычно таким похвастаться не могут и если тебе что-то не нравится, то придется часто форкать эту красоту.
Doge
То есть на текущей работе у шарпистов форкнут орм как раз из-за того, что нужно выправить работу с квазицитатами, что на прошлой работе, где было то же самое примерно по тем же причинам
Doge
эээээ, что они форкнули?
Монго драйвер, который обильно шарповые квазицитаты юзает. На прошлой был свой форк нхибера
Anonymous
Но тут другой момент - чего все эти пришибленные Скалаебы не понимают, так это сам уровень сложности - формализовать какую-либо конкретную проблему. Опять же, мнят себя ведомыми самой Математикой, но при этом напрочь отказываются принимать во внимание весь тот пиздец, до сих пор продолжающийся, вызванный к жизни попыткой формализовать те же, как сейчас скажут, «основания». Формализация чего-то до такой степени, чтобы интерпретатор строился исключительно опираясь на грамматику языка - это проявления высшего, кристально ясного понимания проблемы, так сказать умение зрить в корень. Ни на что подобное не приходится расчитывать, когда десятки малознакомых людей одновременно развивают какую-то крупную систему скорее стихийно, чем четко понимая что и зачем они делают. А неумелая формализация это ад, причём ближе к последним кругам по Данте.
Doge
успех неминуем...
Ну монго драйвер сам по себе немного говно и меинтейнеры отказываются его править, типа скоро с нуля сделаем крутую версию. А на прошлой работе нхибер очень обильно фичами расширили в плане как раз работы с квазицитатами
Shub
Но тут другой момент - чего все эти пришибленные Скалаебы не понимают, так это сам уровень сложности - формализовать какую-либо конкретную проблему. Опять же, мнят себя ведомыми самой Математикой, но при этом напрочь отказываются принимать во внимание весь тот пиздец, до сих пор продолжающийся, вызванный к жизни попыткой формализовать те же, как сейчас скажут, «основания». Формализация чего-то до такой степени, чтобы интерпретатор строился исключительно опираясь на грамматику языка - это проявления высшего, кристально ясного понимания проблемы, так сказать умение зрить в корень. Ни на что подобное не приходится расчитывать, когда десятки малознакомых людей одновременно развивают какую-то крупную систему скорее стихийно, чем четко понимая что и зачем они делают. А неумелая формализация это ад, причём ближе к последним кругам по Данте.
Аминь
Anonymous
Аминь
Что характерно и очень много говорит о том, что Скала-комьюнити ещё не дозрело до понимания всех губительных возможностей гранты, с которой пытаются играться: ни разу не видел, чтобы обсуждалась цена за неверную формализацию проблемы. Люди буквально не понимаю, что одна-единственная лишняя (давай говорить для красоты слога) «аксиома», положенная в основу, может возыметь самые разрушительные последствия, которые очень сложно предвидеть. Люди в упор не хотят по знавать, что это по своей сути - сугубо теоретическая и весьма своеобразная работа, которая требует не только времени, но и навыков, у рядового пограмиста на рынке труда неразвитых.
Anonymous
Как по мне - это главный критерий того, что за этим стоит просто мода на наукообразие и вот это все, а не реальная сила решить те или иные проблемы промышленной разработки путём их «формализации» в строгом смысле.
Doge
Как по мне - это главный критерий того, что за этим стоит просто мода на наукообразие и вот это все, а не реальная сила решить те или иные проблемы промышленной разработки путём их «формализации» в строгом смысле.
Так у того же TF основная сила именно в его сугубо прикладных особенностях. Что там кто-то пытается куда-то перевесить умные слова типа "алгебр" - это их и только их проблемы.
Anonymous
Так у того же TF основная сила именно в его сугубо прикладных особенностях. Что там кто-то пытается куда-то перевесить умные слова типа "алгебр" - это их и только их проблемы.
Тут бесспорно, но (поправь если не так) как раз именно таких злоупотреблений в общем-то очень много за единицу времени излучают Скала-парни.
Anonymous
Ну среди библиотек я такое очень редко видел.
Да это, судя по разговорам, сконцентрировано в прикладной Скале, которая решает проблемы бизнеса. Опять же, особенно эти eDSLы их, вот это все.
Shub
Что характерно и очень много говорит о том, что Скала-комьюнити ещё не дозрело до понимания всех губительных возможностей гранты, с которой пытаются играться: ни разу не видел, чтобы обсуждалась цена за неверную формализацию проблемы. Люди буквально не понимаю, что одна-единственная лишняя (давай говорить для красоты слога) «аксиома», положенная в основу, может возыметь самые разрушительные последствия, которые очень сложно предвидеть. Люди в упор не хотят по знавать, что это по своей сути - сугубо теоретическая и весьма своеобразная работа, которая требует не только времени, но и навыков, у рядового пограмиста на рынке труда неразвитых.
Ну ты скорее всего прав, ну типа «как такие умные люди могут быть такими дебилами» и все такое. Но я лично усматриваю во всем этом злой умысел скорее - лжоб секурити, желание выставить себя умнее среднего и т.п. Типа как рядовой гаражный ножедел первым делом начинает ДИЗАЙНИТЬ КОНЦЕПТ, который непонятно с какой стороны брать, а опытные чуваки наоборот делают самые обыкновенные на вид хозбыт изделия, но при этом разрезающие ткань пространственно-временного континуума
Андрей
за годы скалы ни разу не пользовался никакими дслями. не знаю с чего тебя так разрыаает. в любой комьюнити есть переборщи, но кмк большинство в прагматизм (не путать с говнокодом)
Shub
за годы скалы ни разу не пользовался никакими дслями. не знаю с чего тебя так разрыаает. в любой комьюнити есть переборщи, но кмк большинство в прагматизм (не путать с говнокодом)
Есть мнение, что скала имеет три подвида: scala как better java, scala как scala (play, akka и тп) и scala как haskell. И что последнюю видно больше всего по правилу «крикливого меньшинства»
Shub
А первые два соответственно не наблюдаются, но ведут себя аналогично черной материи
Shub
Или простыми словами, tf шобле надо постоянно напоминать, что они меньшинство, что они никогда не будут нормализованы, потому что сообщество никогда не допустит расширения окна Овертона
Doge
Потому что у них кругозор узкий
Плей - в особенности старых версий, это такое странное нечто, которые вообще ничему не идиоматично хоть в какой-то степени.
Shub
Это фреймворк, написанный жава-людьми, которые никогда ни на чем больше не писали. Кроме того, очень сильно повлияло желание иметь жава-версию на ранних этапах, ну чисто гипотеза у меня такая
Shub
Но оно входит в этот тн «нормальный стек»
Doge
Но оно входит в этот тн «нормальный стек»
Ну скорее тогда лучше акка-хттп упомянуть
Anonymous
Есть мнение, что скала имеет три подвида: scala как better java, scala как scala (play, akka и тп) и scala как haskell. И что последнюю видно больше всего по правилу «крикливого меньшинства»
Так изначально говорили про комьюнити. И в нем действительно немало людей с академическими наклонностями, как и в Хаскеле. И то, что Хаскель сильно, заметно влияет на Скалу, это тоже факт, который сложно отрицать. Особенно, на молодые ума в энергичных телах, думающие что слово «алгебрах само по себе способно сделать мир лучше.
Doge
Ее тогда не было.
Ну оно достаточно давно появилось в виде spray и того, что до него было
Shub
Ну оно достаточно давно появилось в виде spray и того, что до него было
Ну когда оно было spray - оно было крайне беспомощное. Это был очень тонкий такой слой http и... и все.
Shub
Это потом его более менее прокачали до уровня, когда с точки зрения фич оно смогло стать в один ряд с flask
Shub
А тогда там было плохо вообще все
Shub
Я вообще думаю, что может там все было так слабенько, потому что общая экосистема была уже развита и им трудно было пробиться к солнечному свету
Doge
Или простыми словами, tf шобле надо постоянно напоминать, что они меньшинство, что они никогда не будут нормализованы, потому что сообщество никогда не допустит расширения окна Овертона
И да, опять-таки чаще всего tf используется в своем а-ля mtl стиле, где это не какая-то глубокая математика или чьи-то "алгебры", а ответ на вопрос как за 5 минут без правок компилятора сделать эрзац систему эффектов и чтобы оно не тормозило.
Shub
И да, опять-таки чаще всего tf используется в своем а-ля mtl стиле, где это не какая-то глубокая математика или чьи-то "алгебры", а ответ на вопрос как за 5 минут без правок компилятора сделать эрзац систему эффектов и чтобы оно не тормозило.
Возможно. И возможно, где-то это даже требуется. Прототипы там писать. В дремучем энтерпрайзе это не особо важно, потому что система растет хаотически и меняется крайне редко
Doge
Позволяет хоть какой-то общий знаменатель всем иметь и как-то вместе интегрироваться
Shub
При этом tf накладывает вполне конкретные требования на хайринг, и если мы не смогли хайрить людей на такой лайтовый язык как эфшарп в третьем Риме - то tf это такой способ красиво прибраться на паровой ракете
Shub
У меня шас один из менеджеров дико хейтит скалу и котов
Shub
Потому что на его прошлой работе одна команда пообещал «эффекты за 5 минут без тормозов» и не сделала ни одного релиза за три года. В силу объективных причин, конечно
Doge
При этом tf накладывает вполне конкретные требования на хайринг, и если мы не смогли хайрить людей на такой лайтовый язык как эфшарп в третьем Риме - то tf это такой способ красиво прибраться на паровой ракете
Тут я одновременно согласен и не согласен. С одной стороны очень элегантная техника с простой реализацией и идеей, с другой почему-то очень ломает людям мозг с непривычки.
Shub
Я к тому, что полуанекдотический экспириенс подтверждает больше мнение Sergey, нежели качества скалы и фреймворков.
Maksym
Потому что на его прошлой работе одна команда пообещал «эффекты за 5 минут без тормозов» и не сделала ни одного релиза за три года. В силу объективных причин, конечно
В моей конторе не любят фшарп отдел так как он придумает собственные костыли которые потом не понимают другие отделы компании которые пишут на шарпах
Maksym
Мне это уже кажется что поэтому и не любят фшарп
Shub
При этом эфшарп проще скалы на порядок, можно легко саппроксимировать опыт на что-то сложнее эфшарпа
Doge
Ну вот казалось бы, да?
Причем даже её ОО вариант в виде object algebras тоже ломает мозг людям. Хотя там и техника по идее ещё проще для понимания
Anonymous
Причем даже её ОО вариант в виде object algebras тоже ломает мозг людям. Хотя там и техника по идее ещё проще для понимания
Мозг людям ломает обилие наукообразия, которым сопровождаются все обучающие материалы, кроме некоторого их числа.