Aleksandr
То, что сейчас возвращает
Aleksandr
Лэйзи енумербл
Bonart
Сейчас селект возвращает M<T>
Bonart
А ни хера не ленивый итератор
Bonart
Что в шпрахе, что в реактивках, что в линке для тасок
Bonart
А для верующих в святого енумерабла в аду отдельный котел есть
Bonart
Другое дело что средствами шарпа это не опишешь вот и лезет утиная типизадция с компиляторной магией
Igor
а другие что используют вместо linq?
Doge
Ну и функции для конкретных коллекций
Doge
Т.к. все общие функции сохраняют тип, в отличие от линка
Bonart
Линк в этом не виноват это все ява проклятая
Igor
так, хаскель пока оставим в стороне, c# с ним нет никакого смыслы сравнивать. В жаве оно лучше сделано?
Bonart
В яве оно хуже сделано. В скале кое-что сделано лучше, кое-что вместо все, потому что JVM мешает
Dr. Friedrich
Dr. Friedrich
Ну то есть это только вместо Linq2Objects
Doge
Bonart
Dr. Friedrich
Забыли описать, как будем делать экспрешены
Bonart
Ну зачем ты сразу ниже пояса-то?
Dr. Friedrich
Ну я именно об этом и спрашивал
Dr. Friedrich
Если вы тут обсуждали только linq2objects — тогда лан, извиняюсь.
Bonart
Тут любители выпила типов жидко лажают :)
Dr. Friedrich
Ну просто это не такой интересный случай, и он нормально сделан в яве и в других языках, хотяб и в JS даже.
Bonart
А дотнетик в белоснежном костюме
Ayrat
Dr. Friedrich
А linq2sql грустно сделан.
Dr. Friedrich
Ну то есть в яве скорее смешно, у остальных скорее грустно.
Dr. Friedrich
Там некоторые чувачки берут и парсят байткод :)
Bonart
Ayrat
Dr. Friedrich
Ну то есть когда мы научимся решать проблему останова, то это вообще начнёт работать супер классно.
Ayrat
Звучит как компиляторно зависимая дичь
Bonart
Bonart
Ayrat
Попросил выкатить на скале
Ayrat
Ayrat
Но переписать время есть когда дырку закрыли
Bonart
А потом еще рах переписать :)
Ayrat
Igor
ну и ладно
Igor
линк говно, но и другого никто не предложил (хаскель не считается)
Dr. Friedrich
Dr. Friedrich
Вернее, предложили, но не полный аналог. Такого добра везде хватает.
Dr. Friedrich
Шоб я прям на хостовом языке мог написать выражение, и оно скомпилилось в SQL — такого нету.
Dr. Friedrich
Собственно, даже в F# с этим проблема, что пришлось свои экспрешены изобретать
Bonart
Ayrat
Dr. Friedrich
Dr. Friedrich
let x = 2 + 2
Вот что мне фримонада с этим кодом сделает?
Dr. Friedrich
Ну как?
Ayrat
Bonart
Ayrat
В хаскеле такое разве есть?
Реализации я не видел, говорю ж, в теории. Фри монада позволяет интерпретировать твои выражения как угодно
Dr. Friedrich
Dr. Friedrich
На фримонаде там будет что-то типа num(2) `plus` num(2)
Dr. Friedrich
В лучшем случае
Dr. Friedrich
Ну то есть это обычный DSL с интерпретатором
Dr. Friedrich
Не то чтобы это плохо — нет
Dr. Friedrich
Но это не то же самое, что в linq2sql.
Dr. Friedrich
Но всё-таки ты будешь оперировать не совсем над хостовыми типами
Dr. Friedrich
У тебя просто будет DSL. DSL для запросов мы на любых языках видим много
Dr. Friedrich
На самом деле я просто хочу квотейшены :)
Dr. Friedrich
Наверняка в хаскеле есть какой-нибудь хитрый флаг компилятора, чтобы были квотейшены?
Bonart