@CSharpChatЭта группа больше не существует

Страница 452 из 1888
Igor
01.03.2017
17:10:38
у меня после скалы на это всё аллергия
Да ладно - монады, аппликативные функторы и ссылочная прозрачность - это же очень весело ??

А если еще и книжку по Haskell осилишь - так мозги вправятся ? и почувствуешь гордость за профессию разработчика.

Google
Nikita
01.03.2017
17:15:35
монады у меня и так есть

мне Result и MayBe хватает

остальное от лукавого

иначе получается код как на перле

Igor
01.03.2017
17:20:50
Axm
01.03.2017
17:22:39
там теперь тоже флудят, я осознал свою ошибку
Говорил без флуда, а на самом деле там так же как тут

Insha Allax
01.03.2017
17:41:54
/topuser@bestuserbot

Nikita
01.03.2017
17:49:23
@igor_ur В общем виде - class Result<T> { public Exception Exception {get;} public T Result {get;} }

соответственно если методы возвращают Result

то их можно объединять в цепочки

Nikita
01.03.2017
17:51:24
не совсем

Google
Nikita
01.03.2017
17:51:33
Either предполагает равноправные значения

а тут одно считается успешным, а другое нет

и можно чейнить

Result<int> Foo() => 123 string Bar1(int x) => x.ToString(); var res = Foo().Map(Bar1);

причём у меня обычно там не Exception, a string Error

т. к. исключение и ошибка - это вообще говоря две большие разницы

почитал

в общем, это Try в хаскеле

не суть важно

там, кстати, ещё не придумали как сделать _ универсальной заглушкой?

а то напрягает городить лямбды вида (_, __)

какой-то смайлик свинной задницы получается

Igor
01.03.2017
18:00:09
Either предполагает равноправные значения
Как бы нет, Left используется для ошибки, Right для значения. Он вообще считается как Maybe с доп. информацией. Вот стандартная реализация функтора Either: instance Functor (Either e) where fmap _ (Left a) = Left a fmap f (Right a) = Right (f a) В случае Left он игнорирует переданную функцию. В монаде там тоже самое: instance Monad (Either e) where return = Right Right m >>= k = k m Left e >>= _ = Left e

yegorf1
01.03.2017
18:05:36
Чувки, а когда имеет смысл юзать указатели в шарпе?

Они чуть быстрее с нестандартными обращениями к массивам и.. и все?

Ramil
01.03.2017
18:06:48
Вопрос в том, в каком домене срабатывает статический конструктор
все ясно, надо было A наследовать от MarshalByRefObject

Nikita
01.03.2017
18:08:08
Дмитрий
01.03.2017
18:09:29
Чувки, а когда имеет смысл юзать указатели в шарпе?
когда нужно работать с изображениями например, и именно на шарпе

тогда указатели дают некислый прирост в производительности

Nikita
01.03.2017
18:09:56
можно через обычный байтмассив

Google
Дмитрий
01.03.2017
18:10:03
но и шансы самострела в ногу повышают

Nikita
01.03.2017
18:10:04
в релизной сборке неплохо вполне

хотя JIT может не догадаться убрать проверки границ

Дмитрий
01.03.2017
18:12:01
можно через обычный байтмассив
можно даже int [ ], если ARGB

в одном из проектов на старой работе вообще рисовашки на server-side были через WriteableBitmapEx реализованы да, это трэш и угар, я знаю

Nikita
01.03.2017
18:14:23
>WriteableBitmapEx

боль

это идиотизм

причём идиотизмом является само существование этой либы

она не даёт особого прироста по сравнению с GDI+

Дмитрий
01.03.2017
18:15:53
к сожалению, это чудо инженерной мысли было разработано ещё до моего прихода при этом вполне успешно крутилось и работало

Nikita
01.03.2017
18:15:56
просто автор не догадался расшарить кусок памяти между WritableBitmap и System.Drawing.Bitmap

Nikita
01.03.2017
18:16:29
и слепил на этом чуде свой "быстрый грид"

Кстати обэтомсамом и свиньях. Когда в финке был, рассказали кулстори про зоофила, который залез в свинарник

так вот, его не смогли привлечь к ответственности

т. к. по стечению обстоятельств

yegorf1
01.03.2017
18:26:58
он был свиньей?

Nikita
01.03.2017
18:27:01
он понравился местному хряку

yegorf1
01.03.2017
18:27:01
/простите/

Nikita
01.03.2017
18:27:20
и оказался не на той стороне стороне за которую потом привлекают

Google
yegorf1
01.03.2017
18:27:39
ахахаха

Сергей
01.03.2017
19:12:05
какой-то смайлик свинной задницы получается
Все норм, дискарды уже в мастере https://tryroslyn.azurewebsites.net/#b:master/K4Zwlgdg5gBAygTxAFwKYFsDcAoADsAIwBswBjGUogQxBBgGEYBvbGNmfYsmANwHswAExgBZABQBKZq3ayZstjyoAnGGKoAaGASkBeNQH0NBvWoCMWgEwScC9ktVijJmPrEWY123ZjyYAX2x/IA=

Nikita
01.03.2017
19:18:55
Func<int, int, int> foo=(_,_)=>123;

The parameter name '_' is a duplicate

не работает

? Райзя ?
01.03.2017
19:20:39
(_,☺️) попробуй

Admin
ERROR: S client not available

? Райзя ?
01.03.2017
19:21:05
(_,❤️) или так

Nikita
01.03.2017
19:21:55
ещё в параметрах лямбд можно писать стихи на японском

? Райзя ?
01.03.2017
19:22:27
а у нас в свифте нормально все с опусканием параметров через _!

вот

Nikita
01.03.2017
19:23:00
у вас в свифте нормальный UI-фреймворк не завезли

? Райзя ?
01.03.2017
19:23:25
чиво это

Сергей
01.03.2017
19:23:36
Дискарды это фича деконстрактов, а в лямбдах _ - валидное имя аргумента

? Райзя ?
01.03.2017
19:23:43
вот кодом все пишешь пишешь быстро быстро быстро

Nikita
01.03.2017
19:24:11
ну вот UIKit застрял где-то на уровне Windows Forms

? Райзя ?
01.03.2017
19:24:49
ну да, никаких хитростей с биндингами как в впф

иногда мне это нравится больше, ибо все прозрачно

Nikita
01.03.2017
19:25:18
банальные вещи типа "расположить картинку на кнопке слева от текста"

делаются монстриками типа этого http://stackoverflow.com/a/41575018/2231814

Google
? Райзя ?
01.03.2017
19:26:18
банальные вещи типа "расположить картинку на кнопке слева от текста"
та не, ты что. Там все через драг н дроп и магию констрейнтов делается

а это какие-то маньяки с времен фреймворков для графики через код

Nikita
01.03.2017
19:26:41
ещё хуже

? Райзя ?
01.03.2017
19:27:00
зато быстро

Nikita
01.03.2017
19:29:15
чик-чик и в продакшн, да

Igor
01.03.2017
19:30:18
зато быстро
А DSL для построения UI у вас нет, как Anko в Android?

Nikita
01.03.2017
19:33:55
Кстати о DSL

http://www.ammyui.com/

только у него какие-то тарифы странные

? Райзя ?
01.03.2017
19:43:15
Sh2dow
01.03.2017
20:35:35
Подскажите плес онлайн магазин с открытым api (чтоб парсер не писать)

Nikita
01.03.2017
20:39:56
амазон

Igor
01.03.2017
21:10:13
а я ненаю что это
Пример валдиного DSL на Kotlin с for и функциями: https://i.gyazo.com/d43fc1138996ded3912d555767b4f643.png Конкретно для Android уже есть готовая либа ANKO от JB c полным DSL на Anroid UI. Domain-specific language https://goo.gl/STrq7F Это способ подняться на императивны программирования и писать программы декларативным образом. Ты начинаешь описывать не решение проблемы по шагам, а саму проблему на языке пред. области. К примеру есть проблема: надо описать UI. Обчно из за ограничение C#/Java - для этого начинают юзать XML (XAML). Но это очень ограниченное решение и требует специального тулинга/кодогенерации. Но есть такие языки (Kotlin/Groovy/F#) в которых DSL можно делать внутри самого языка. При этом у тебя огромная гибкость: можно использовать for/if/switch, выделять куски UI в функции, юзать любые рефакторинги и манипулировать UI как кодом.

anton
01.03.2017
21:11:01
http://no-kill-switch.ghost.io/current-state-of-net-through-not-so-rose-colored-glasses/

Страница 452 из 1888

Эта группа больше не существует Эта группа больше не существует