Hog
Сабурбия солтлейк сити
Hog
PS C:\Program Files\dotnet\sdk\2.2.104> dotnet FSharp\fsi.exe Microsoft (R) F# Interactive version 10.2.3 for F# 4.5 Copyright (c) Microsoft Corporation. All Rights Reserved. For help type #help;; > #r @"C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.0\build\netst andard2.0\ref\netstandard.dll";; --> Referenced 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder\netstandard.library\2.0.0\bu ild\netstandard2.0\ref\netstandard.dll' (file may be locked by F# Interactive process) > open System;; > let uri = Uri("https://walmart.com");; val uri : Uri = https://walmart.com/ >
Хаскель
Не, ты чо, людей не трогал.
Когда я F хвалю в канале по Х.ю, меня там тоже ругают...
Dr. Friedrich
Когда я F хвалю в канале по Х.ю, меня там тоже ругают...
Тебя там должны всё время ругать, с такими-то ФИО!
Dr. Friedrich
К тому же ты давно в земле должен лежать.
Хаскель
Разве что из зависти. Реально существовавший человек. Это не прозвище.
Dr. Friedrich
С 89 года.
Хаскель
лучше для хаскельного псевдонима может быть только Аск Хелл с лямбдами в конце.
Хаскель
Но с Гопником можно и в другие каналы постить, оно везде элегантно выглядит.
Хаскель
Даже лучше, чем Сталинский Блокчейн.
Doge
Когда я F хвалю в канале по Х.ю, меня там тоже ругают...
Ну там понятно-то. F# умудрился всё развитие ФП языков с 80х полностью проигнорировать совершенно возмутительным способом
Vladislav
Doge
А надо было не игнорировать?
Есть достаточно консервативные фичи, которые при этом дофига выразительности в язык приносят. Тайпклассы или например первоклассные модули.
Doge
Которым на момент создания фшарпа уже ничего так лет было
Vladislav
Которым на момент создания фшарпа уже ничего так лет было
Только в слр на момент выхода только только дженерики завезли со скрипом
Vladislav
Если память не изменяет
Vasily
Ну тайп классы фиг знает как ввести без изменения clr, хотя и можно. С другой стороны, если взять подход тп, то все будет ок
Doge
Только в слр на момент выхода только только дженерики завезли со скрипом
И? Тайпклассы как раз можно реализовать со стороны языка относительно просто.
Vasily
Компиляция у нас последовательная, поэтому действительно неясно, что препятствует метапрограммированию
Vasily
Нужно расширение object expression по идее
Vasily
По факту доработка тп
Doge
Ну тайп классы фиг знает как ввести без изменения clr, хотя и можно. С другой стороны, если взять подход тп, то все будет ок
Есть несколько вариантов: 1. Энкодинг через дополнительные дженерик структ параметры. (Достаточно любопытный способ, хоть и чуть хацкерный) 2. Энкодинг через передачу дополнительных аргументов в ф-ии. 3. Можно чуть более хитрый вариант а-ля хаскель, где известные на этапе компиляции вызовы методов тайпкласса инлайнятся, а в других случаях передается параметром.
Dr. Friedrich
Провайдеры изначально были костылями вообще для другого :)
Vladislav
по причинам менеджмента
Doge
в том что тогда это было вряд ли возможно
После появления дженериков это все было запросто возможно. До надо было бы самим типы стирать, но это не проблема.
Dr. Friedrich
Doge
А когда вызовы функций тайпкласса бывают неизвестны на момент компиляции?
В случае вызова дженерик методов с ограничением на то, что должен дженерик параметр имеет такой-то тайпкласс
Dr. Friedrich
Стирать нужно только ради убернаркоманства какого-то
Dr. Friedrich
В случае вызова дженерик методов с ограничением на то, что должен дженерик параметр имеет такой-то тайпкласс
Ну, в одном из вариантов кодирования (я так понял, в твоём п. 1) инстанс тайпкласса становится ещё одним генерик параметром.
Doge
Я не понел, зачем их стирать. Вроде ж наоборот — ещё больше уточнять надо?
В смысле как вариант компиляции языка с дженериками в байт-код, который про них ничего не знает.
Dr. Friedrich
И, получается, он всегда известен на момент компиляции.
Dr. Friedrich
Да, это первый. Да, там все ок
А зачем тогда нужен второй?
Doge
А зачем тогда нужен второй?
Если у нас байт-код дженерики не имеет. К современному .net да, не особо имеет отношение, но упомянуть надо было.
Dr. Friedrich
Я знаю, что его используют в Scala, но там немножко своя атмосфера, и «инстансы тайпклассов» — это по факту не совсем инстансы тайпклассов, а просто объекты с методами (которые могут быть виртуальными, наследованными и пр.).
Vasily
В скале своя атмосфера, да
Doge
А уже придумал, зачем делать тайпклассы 🤔
Они, имхо, куда лучше интерфейсов для кучи абстракций подходят. Например, разная сериализация, равенство, порядок, числовые абстракции и т.д. и т.п. Если есть механизм их автовывода, то вообще сказка же
Igor
Норм вакансия
А что там норм? Зарплата я бы сказал не очень
Vasily
Кавычки
Vasily
Забыл
Hog
Откуда мне знать в какой путь у тебя на макоси оно ставится
Shub
Чо придуриваешься
ну я искал netstandard.dll. находится где-то совсем не в sdk
Vasily
netdtandard.dll приезжает в нюгет пакете обычно
Hog
ну я искал netstandard.dll. находится где-то совсем не в sdk
В общем. Посыла 2. Обещали, что будет работать в 3. В 2 - не обещали, но с приседаниями, как видишь, работает.
Shub
хз, это очень странно и версия-зависимо. 3.0 preview работает из коробки, а вот разные версии 2.2.x - как повезет
Shub
Ты вроде уже взрослый мальчик. Мир несовершенен.
если я не должен верить МС в аспекте интерактивности фарша - почему я должен вообще им верить?
Shub
это ж не стартап и не хипстеры, это якобы крупная и серьезная организация
Vasily
Короче. Ты ж с деревом когда работаешь, тоже косяки случаются? Так и здесь
Hog
Короче. Ты ж с деревом когда работаешь, тоже косяки случаются? Так и здесь
Косяки случаются :) когда делаешь дверной проём. Вероятность 100%
Hog
Чо теперь?
Vasily
Это ты ещё на маке не пробовал под Андроид собирать
Vasily
Вот где грабли
Vasily
А уж сериализация в жсон- отдельная песня
Hog
Да нормальная там зарплата.
Ну, откуда тебе там в Ирландии знать-то!
Ayrat
Ну, откуда тебе там в Ирландии знать-то!
Да нормально 180к, я точно говорю! Не предел мечтаний, но и вакансия не в Гугл!
Nikolay
Кто-нибудь шарит в Identity?
Nikolay
Или чатик дайте пожалуйста не сильно захламлённый, где ответ получить можно
Hog
@ijsgaus ^^^
Nikolay
Нужно реализовать авторизацию по LDAP, какие для этого интерфейсы реализовать нужно? Я нашёл только реализацию готовую для UserManager, но вот не понятно, как юзер этот должен в базу попасть.
Nikolay
Active directory?
Нет, это не Active Directory
Nikolay
Не знаю, что у них там на бэке, но протокол LDAP
Dr. Friedrich
Я, помню, офигел, когда мне Айрат сказал, что fsi из неткора вообще запускается.
Ayrat
Я, помню, офигел, когда мне Айрат сказал, что fsi из неткора вообще запускается.
Уточним, он запускается через команду dotnet fsi.dll Но это ничего не значит!
Ayrat
Я сам офигел да