@Fsharp_chat

Страница 630 из 772
Friedrich
04.07.2018
11:04:03
Ну и в F#-то у нас вообще всё в порядке. Можно и так, и эдак.

Friedrich
04.07.2018
11:04:15
Хехе, а откуда ты думаешь архитекторы C# слизали C# версии 1.0?
Ну, энумы они не стали тырить, и поступили верно.

Roman
04.07.2018
11:04:42
Ayrat @Kleidemos @vshapenko нашел кстати текст от @antyadev https://medium.com/@AntyaDev/introduction-to-orleankka-5962d83c5a27
В продолжении статьи нормальный хэндл ошибок (с точки зрения С# разработчика) try printfn "Let's sell 100 items to user \n" do! shop <! Sell(account, 100) with :? InvalidOperationException as e -> printf "[Exception]: %s \n" e.Message Result тогда не было. Зато гарантия доставки явная.

Google
Roman
04.07.2018
11:04:42
Лол, а вон дальше сказано t’s very simple, widely used and concise technique but in addition to that Orleankka provides option for Railway Oriented Programming.

Ayrat
04.07.2018
11:04:47
Ну, энумы они не стали тырить, и поступили верно.
зато вот всё остальное стырили только в путь. Даже неймспейсы местами совпадали с методами у классов

Roman
04.07.2018
11:09:24
Лол, а вон дальше сказано t’s very simple, widely used and concise technique but in addition to that Orleankka provides option for Railway Oriented Programming.
В третьей части увидел task { match msg with | Increment -> do! так можно было? У меня компилятор ругался на такое с async { mach smth with | Lol -> let! s = myAsyncFunc () }

Ayrat
04.07.2018
11:10:37
да можно, а чо ругался-то?

Roman
04.07.2018
11:10:52
да можно, а чо ругался-то?
не помню, помню что было больно)

да можно, а чо ругался-то?
на хэшбенги ругался в матчах

а как именно ругался не помню

Ayrat
04.07.2018
11:11:34
хз, всю жизнь так делал

прям с детства так делал

Roman
04.07.2018
11:12:06
Klei
04.07.2018
11:13:43
У меня тоже периодически ругается, я закономерности так и не вывел. Так что сначала просто пробую и если надо переписываю.

Ayrat
04.07.2018
11:14:07
как будет ругаться в следующий раз, скиньте пример

Google
Friedrich
04.07.2018
11:14:54
Да, скиньте пример, если заругается. Это должно работать.

Roman
04.07.2018
11:15:01
Потому что ты блок с let! не завершил выражением.
это пример, но мысль я понля обращу в слудющий раз внимание, спасибо

[Anonymous]
04.07.2018
11:19:33
Привет
Дороу)

Sergey
04.07.2018
12:08:14
С Дельфи вестимо ;)
Если мне не изменяет память, то Anders Hejlsberg (который делал C#) пришел в MS из Borland и является учеником Niklaus Wirth, который есть автор Pascal

Dmitry
04.07.2018
12:42:45
Friedrich
04.07.2018
13:29:39
\o

Вексельберг
04.07.2018
13:30:52
\o
а?

Friedrich
04.07.2018
13:31:00
Привет!

Вексельберг
04.07.2018
13:31:14
Доброго дня

Pavel
04.07.2018
14:41:39
Кто-нибудь знает с чего вдруг снова в твиторе волна срача про HKT ?

Ayrat
04.07.2018
14:41:53
их нет в F#? :D

а чо срутся, дай линк

Pavel
04.07.2018
14:42:39
https://twitter.com/k_cieslak/status/1014510938932809728?s=20

евроневидимка
04.07.2018
14:45:22
типы высшего порядка

Pavel
04.07.2018
14:45:30
А что за НКТ?
higher kinded types

Ayrat
04.07.2018
14:46:27
нормально там бомбит у Кристофа

Google
Pavel
04.07.2018
14:46:50
У Кшиштофа )

поляк же

Ayrat
04.07.2018
14:47:18
Я где-то читал мнение Сайма (на гитхабе вероятно), что типа HKT добавят когнитивной сложности для программистов и оттолкнёт новичков и тех кто хочет попробовать F#

Pavel
04.07.2018
14:47:33
нормально там бомбит у Кристофа
не разделяю его точку зрения

Ayrat
04.07.2018
14:47:37
насчёт теоретической реализуемости на системе типов .net я хз

я хочу HKT

я считаю Сайм слишком консервативен

евроневидимка
04.07.2018
14:48:34
тайпклассы хотят добавить

Ayrat
04.07.2018
14:48:46
я не верю в это вообще никак

Им бы sum type добавить. Или там, бугага, optional types нормально

куда им HKT

Vasiliy
04.07.2018
14:49:51
но при этом в C# планируют добавить вроде
https://github.com/dotnet/roslyn/issues/2212 это вот это?

Pavel
04.07.2018
14:50:13
https://github.com/dotnet/roslyn/issues/2212 это вот это?
https://github.com/dotnet/csharplang/issues/339 вот это)

Ayrat
04.07.2018
14:50:19
а, да этот пропозал читал

там набежали haskell wanabe и начали функторы лепить

:D

Google
Ayrat
04.07.2018
14:50:45
шансов около нуля

trait Monad[F[_]] { // ... def flatMap[A,B](source: F[A])(f: A => F[B]): F[B] } object FutureMonad extends Monad[Future] { def flatMap[A,B](source: Future[A])(f: A => Future[B]): Future[B] = ??? }

да, давайте без type inference напишем это же на C#!!11

Vasiliy
04.07.2018
14:51:06
ааа в чем прелесть может кто рассказать?

прогаю на c# долго, и как то все норм ?

Ayrat
04.07.2018
14:51:48
ааа в чем прелесть может кто рассказать?
https://stackoverflow.com/questions/50944604/f-type-parameter-cannot-be-used-as-type-constructor

вот такую проблему решить без HKT можно только грязными хаками

Короче, вот предпоследний комент в этом пропозале. Свежий Any new generic constraints should be implemented in the same place as the old generic constraints--the CLR type system--and not as a big hack inside the C# compiler. It's important to remember that CLR does not stand for "C# Language Runtime." If we add something as big as higher-kinded types, it should be added inside the CLR, to minimize the amount of work that the maintainers of other languages have to do in order to get up to speed on the new features.

С ним согласны многие. И я в том числе. Сделать это хаками в С# компиляторе получится так же убого как атрибутами возле методов и типов подсказывать что они NotNull, а потом получать: typeof<int> == typeof<int?> //false typeof<string> == typeof<string?> //true C# = Consistensy! Если они там атрибутами намажут метаинформации у каждого генерик типа чтобы компилятор в компайл тайме чот собирал, а в рантайме получилась тыква (как в примере выше) - это полный пэ

надо CLR менять. Не в этом десятилетии.

Ayrat
04.07.2018
15:02:39
Ну с non-nullable reference type уже javascipt какой-то получился

Evgeniy
04.07.2018
15:10:42
я считаю Сайм слишком консервативен
Он просто понимает, что ему это хуячить и поддерживать. ?

Ayrat
04.07.2018
15:11:00
Но я допускаю что он на самом деле видит F# как переходной язык между ООП и ФП. Т.е. без мега эзотерических фич

Vlad
04.07.2018
15:13:34
Он просто понимает, что ему это хуячить и поддерживать. ?
Я уже запутался во всех этих хкт, концептах, трейтах и тайпклассах

Не понимаю что есть что

Ayrat
04.07.2018
15:16:11
Но надо сказать что я пытался продакшн код писать на haskell и F#. Ясен хрень всё быстрее заработало на F#. Я могу эту фразу вбрасывать в хаскель чат, мне там напишут что я лох педальный, но как бы F# создан для РАБОТЫ. Прагматичной такой работы. Он потому и создан в хорошей экосистеме дотнета и старается с ней интегрироваться во всём. И потому в нём с полпинка сделать сайд эффекты, мутабельность и ооп. Поэтому можно взять любой код из C# и передрать 1-в-1 на F# не включая голову. Передери ка любую оопшную ебалу на хаскель без наследования :D

Bonart
04.07.2018
15:33:32
Google
Vasily
04.07.2018
15:33:47
Он на нем разговаривает :)

Ayrat
04.07.2018
15:33:52
Матом-то зачем ругаться? ;)
Это я ещё держусь.

Roman
04.07.2018
15:57:04
Это я ещё держусь.
Даже вон @gsomix a заразил

Anna
04.07.2018
16:06:10
Vasily
04.07.2018
16:06:35
Скоро и @AnutaU начнет

Сначала про себя, потом шепотом

Anna
04.07.2018
16:12:54
Скоро и @AnutaU начнет
не дождётесь

Vasily
04.07.2018
16:13:21
не дождётесь
Я терпеливый и понимающий

И принимающий

Яви свою ярость (с)

Evgeniy
04.07.2018
16:16:42
Держите немного доброты от Сайма. https://twitter.com/dsyme/status/1014542534876499969

Pavel
04.07.2018
16:19:07
F# bad ass award? Где посмотреть номинантов?)

Ayrat
04.07.2018
16:19:30
Он же написал - вы все)

You’re all bad asses now :)

Страница 630 из 772