Крылатый
Shub
не, я про саму ситуацию
Aleksandr
Shub
так-то народ триггернулся, что мол западные коллеги не поняли особенности нашего менталитета
Aleksandr
Dmitry Sidorov
Я бы скинул сюда его божественную пасту, но чет не хочу триггерить админов
Hog
Анна
правда не поняла, на что
Анна
https://stackoverflow.com/questions/3686199/f-pattern-composition/3686555#3686555
Я так поняла, что эти эктив паттерны - стандартный способ распарсить из строки какую-то значимую часть?
Анна
Анна
Ну ладно, про F# никто не хочет тут флудить, смотрите тогда какую я офигительную работу нашла на стековерфлоу:
https://stackoverflow.com/jobs/141116/freelance-interview-engineer-karat?med=clc
Надо друга @fillpackart туда 🤔
Pavel
Анна
Pavel
вот боле менее приличный расклад http://www.fssnip.net/29/title/Regular-expression-active-pattern
Анна
Анна
кажется, удобная штука
Анна
(в сочетании с PM я имею в виду)
Pavel
или так http://www.fssnip.net/ny/title/Using-the-Regex-type-provider
Анна
x
А в хаскеле есть классы, получается? Я как-то думал там только типы данных да функции
Doge
x
Вот monad у них — это тайпкласс?
x
Просто пытаюсь понять, как там происходит обьединение структур данных и поведения. Когда они пишут instance - то это же идет определение класса? Но отдельно от данных.
Вот в фшарпе например если нужен билдер то вроде как городят обычный класс с мемберами.
x
Или я брежу
Doge
Вот monad у них — это тайпкласс?
Да.
Тайпклассы, если пытаться грубо их в ОО терминах обьяснить - это, считай, интерфейсы, реализации которых ты можешь обьявить для типов, которыми ты не владеешь
Ayrat
Это как если бы можно было навешивать интерфейсы на тип когда угодно
Ayrat
Вместе с имплементацией конечно
x
Ок, просто я думал они ушли от идеи обьединять поведение с данными.
x
Но у них все примеры про + и ==
x
Почему-то
Doge
Но у них все примеры про + и ==
Потому что это как раз очень удобный пример для тайпклассов.
И изначально именно для нужд введения полиморфного равенства они и возникли
Ayrat
Ну есть лучше. Вот хочешь ты чтобы класс А стал итерируемым. Ну там в Seq.map прокидывать. Докидываешь к нему имплементацию IEnumerable и с этих пор экземпляры этого типа удовлетворяют IEnumerable
Ayrat
Сейчас докинуть интерфейс классу нельзя
Doge
Ayrat
x
А в плане использования что это значит? Я могу теперь на экземплярах класса вызывать методы ienumerable? Или там нет таких понятий как экземпляр и метод
Ayrat
А вот IEquatable есть
Ayrat
Doge
А вот IEquatable есть
Это да.
Но вот само присутствие методов для равенства, хэшкода, вывода строгового представления и т.п. у object меня до сих пор бесит. В том же хаскеле оно куда элегантнее сделано.
Yury
x
Но в фшарпе ничего этого нет, и надо делать классы с мемберами, так?
Doge
Doge
Оно достаточно любопытная штука и в некоторых случаях может заменить тайпклассы
Ayrat
Ayrat
То есть иметь сборку типов и сборку интерфейсов чтобы потом в третьей сборке собрать их вместе как вздумается - нельзя
Hog
x
Я просто пытаюсь определить, когда мне надо хотеть совать в тип данных поведение для него, а когда это грех. В ооп я всегда так делал, потому что это так надо. А что не лезет совал в helper.
Но теперь я скорее напишу иммутабл класс без методов и наделаю экстеншен методов.
Ayrat
Doge
x
Ayrat
Ayrat
Докинуть интерфейс к типу нельзя.
Ayrat
Создать новый - можно
Hog
к типу - нет. я про тип и не говорил
Hog
я про ортогональный механизм пытался выяснить
Hog
// create a new object that implements IDisposable
let makeResource name =
{ new System.IDisposable
with member this.Dispose() = printfn "%s disposed" name }
x
А, ну это по месту какая-нить анонимная реализация
x
Они кстати вроде ж уже отменили idisposable
Hog
не совсем :)
x
Сделали из него утку
Hog
вроде это тока для реф страктс или чо-то такое. краем глаза слышал
Hog
ну, вот, гляди - есть у тебя некий тип X, реализующий IY. ты создаёшь экземпляр x, а потом с помощью вот этой хрени можешь ещё создать из него некое х', но реализующее уже IZ. это конечно не совсем то, но.... :)
Hog
Не про ф# :)
Hog
https://twitter.com/shipilev/status/1097811544811945987?s=12
Nikolay
А тут на xamarin никто не пишет?
Nikolay
Вообще попробовал вчера, очень понравилась штука Xamarin Live
x
в какое страшное время мы живём
Pavel
Pavel
но фшарп в ксамарине так себе
Nikolay
но фшарп в ксамарине так себе
Вопрос тут есть. Если нужно отображать разные page, при запуске, в зависимости от значения в БД, это как правильно делается? Где-то в App.cs лезть в базу и менять MainPage, или как-то переходить на одну страницу, из которой уже кидать на нужную?
Pavel
это в каком из ксамаринов хоть?
Pavel
если формс то не ко мне. я их вылилил практически с беты
Nikolay
А ты пользуешь какой-нибудь Xamarin Android?
Pavel
да android & ios. в них вменяемые родные дизайнеры форм
Nikolay
Ну не, у меня как раз про формс вопрос
Nikolay
Надо в дотнет чатике спросить
Pavel
есть же xamarin чат. та мспроси