Nikolay
:D
Nikolay
Кругом обман
Nikolay
А слово то какое подобрал
Ayrat
А что делать, не наёбёшь, не проживёшь
Ayrat
не, термин такой есть
Ayrat
но у нас его нет!
Ayrat
:D
Nikolay
если коротко, ресёрчеры из MS в начале сделали квантовый симулятор на F# через квантовое интерптерирование квазицитированного состояния
Ayrat
:D
Ayrat
убери "в начале" и можно хоть сейчас на заголовки таблоидов
Nikolay
Потом появятся вопросы, умеет ли F# запекать уточку
Nikolay
Я только что придумал про уточку
Nikolay
Мол F# какой крутой, что даже уточку запечёт
Ayrat
Блин, попался сам же
Nikolay
:D
x
завтра на НТВ: российский олигарх попался запекающим уточку на Q#, мразь пидор скандал
Vasily
n fact, the 8h test completed in 330ms after applying this approach, and effectively underscored for us that the [\< ReflectedDefinition >] approach was to be abandoned.
Vasily
Про пользу билдеров
Vasily
Кстати
Vasily
https://github.com/johnazariah/roslyn-wrapper/blob/master/README.md
Pavel
вот и запеченая утка
Ayrat
https://twitter.com/_vovakulikov/status/1069987032208994304
Vasily
ШТА?
Pavel
скоро perl будет
Ayrat
ШТА?
у них там пропозал на pipeline operator
Ayrat
вот он в действии
Vasily
Бля
Ayrat
выглядит ээээ странно
Vasily
Ну нахуя это в языке без типизации?
Ayrat
# оператор забавный
Ayrat
нам бы такой
Ayrat
у нас давно property accessor оператор ходит пропозал
Ayrat
ну и как все, мёртвый
Ayrat
чтобы вместо |> Seq.map (fun x -> x.Prop) делать |> Seq.map #.Prop
Vasily
Еще бы type calculation
Vasily
Я начал проникаться идеей конструирования типов на лету
Vasily
По факту, тот же тп
Ayrat
ну для этого типы должны быть first class citizen
Vasily
Мне кажется привлекательной идея описания типа в виде функции
Ayrat
чтобы можно было их передавать как и функции в параметры, возвращать, в переменные биндить и пр
Vasily
ну для этого типы должны быть first class citizen
Вот думаю, квотейшны могут быть применимы для данной истории или нет
Vasily
С другой стороны, что есть тип, как не ast?
Éminence grise
А разве в квотейшенах разрешена декларация типов?
Doge
если коротко, ресёрчеры из MS в начале сделали квантовый симулятор на F# через квазицитирование (F# умеет отдавать AST самого себя как LISP), чтобы можно было интерпретировать по месту эти экспрешны. потом поняли что все действия над кубитом это набор действий, которые меняют состояние, но императивный подход очевидно не подходит, т.к. нужны описания операций для интерпретации, а не выполнять операции. Поэтому перешли на State монадку, заодно ускорили код на порядок. Стейт монадка всем хороша, но она теряет возможность интерпретации по месту, потому что State зашит. Нужна была Free монадка, которая требует HKT, говнокода на F# или Haskell. Поэтому выбрали говнокод на F#. Забацали фри монадку, которая интпретировала набор действий в любой рантайм. будь то виртуальный квантовый компутер или реальный. Затем они подумали и выделили то что им нужно из F# в Q# - встроенная фри монадка, иммутабельность, фанкшнс-фёрст, написали парсер на fparsec, тайп чекер на F# и врапером над Рослином, кодогенерация там всё такое. Родили новый язык за 4 месяца
Ну во многом eDSL всё же приятнее, чем прям отдельный небольшой язык, т.к. есть готовая поддержка в IDE, редакторах и т.п. То есть касательно того же Q# или eDSL на F# я бы с большим удовольствием выбрал второе, т.к. опыт на Q# в плане средств разработки мне не очень понравился.
Ayrat
это компайлер сервис отдаёт AST по типам
Ayrat
квотейшны идут лесом
Vasily
Да проблема не в декларации типа
Vasily
А в синтаксическом сахаре
Vasily
Типа тех же линз
Ayrat
@ijsgaus https://github.com/rust-lang/rfcs/blob/master/text/2033-experimental-coroutines.md в расте кажется сделали годную базовую абстракцию для async/await
Ayrat
она не прибита гвоздями к одной имплементации и подменятся любой другой, т.к. макросы
Ayrat
т.е. там и корутины, и фучуры, и промизы, и стейтмашины, и генераторы, всё можно сделать.
x
а у них что, ничего для этого не было?
Ayrat
ну, ручками
Ayrat
а тут ключевые слова в язык
Ayrat
и базовая имплементация stackless coroutines которая позволяет изобразить что угодно другое
Ayrat
вот тут подробно как макросы разбираются https://blag.nemo157.com/2018/12/09/inside-rusts-async-transform.html
Ayrat
я нихуя не понял
Ayrat
Кстати, мы чот упустили линку от Симана
Ayrat
http://blog.ploeh.dk/2018/11/26/the-test-data-generator-applicative-functor/
Ayrat
ну и вторая, свежая
Ayrat
http://blog.ploeh.dk/2018/12/10/danish-cpr-numbers-in-f/
Vasily
я нихуя не понял
Аналогично
Ayrat
Я щас странный вопрос задам, а как объявить ПОЛЕ в абстрактном классе? нужен аналог: abstract class Foo { public int Bar; }
Vasily
Поле?
Ayrat
Поле
Vasily
НУ как обычно
Ayrat
ну нет
Ayrat
обычно не получается
Vasily
Ну как нет
Ayrat
Давай определимся с обычностью
Ayrat
у меня обычно поле объявляется через val