@Fsharp_chat

Страница 538 из 772
?‍?
05.04.2018
09:40:40
Должны все видео опубликовать в течение пары недель.
Есть трабл с англ на слух и вообще временем слушать/смотреть.

Evgeniy
05.04.2018
09:41:17
А. Ну, тут только так.

Насколько я помню, они еще у себя на сайте выкладывают видео, без сабов.

На ютубчике можно хотя бы автоматически сгенерированные подключить.

Google
?‍?
05.04.2018
09:43:04
Насколько я помню, они еще у себя на сайте выкладывают видео, без сабов.
В презентацию можно же добавлять текст, сообветствующий тексту спикера при показе слайда, но слайдыв не будут выложены?

Evgeniy
05.04.2018
09:43:40
В презентацию можно же добавлять текст, сообветствующий тексту спикера при показе слайда, но слайдыв не будут выложены?
Не, ни разу с этой конференции слайдов не видел. Если только сами авторы выложат где-нибудь.

Roman
05.04.2018
09:50:27
На ютубчике можно хотя бы автоматически сгенерированные подключить.
Так себе идея. Они часто настолько плохи, что только усложняют понимание

Pavel
05.04.2018
09:51:29
Кактусом здесь выступают как раз статические методы, а никак не модуль. Из всего перечисленного мне изредка пригождаются разве что операторы. Вообще использование статических методов вначале использования F# является делом привычки, и если уж народ переезжает на модули, значит для этого есть причины.
хотелось бы послушать про эти причины. а то я вот с еще с версии 0.7 f# гоняю в разных вариантах, а причин преимущества модулей и причин на них переползать до сих пор не нашел (ну если не считать причиной тезис "ооп-бяка"). для модулей есть только 2 практических применения - собрать свой Prelude и собрать функции утиной типизации в одном месте.

Grigory
05.04.2018
09:54:37
Там же Paket у них

Klei
05.04.2018
09:56:22
хотелось бы послушать про эти причины. а то я вот с еще с версии 0.7 f# гоняю в разных вариантах, а причин преимущества модулей и причин на них переползать до сих пор не нашел (ну если не считать причиной тезис "ооп-бяка"). для модулей есть только 2 практических применения - собрать свой Prelude и собрать функции утиной типизации в одном месте.
Звучит так, что должен остаться только один и завтра сайм выпилит поддержку проигравшей стороны. По моему большинство причин за и против уже перечислили. Если для тебя они не актуальны, юзай статик. То что ты записал в плюсы для меня роли не играет, а вот создавать вложенные модули, сопуствующие типы, легко юзать вышеопределенные функции и т.д. для меня необходимо.

Evgeniy
05.04.2018
09:57:36
Там же Paket у них
И он работает поверх NuGet инфраструктуры.

Klei
05.04.2018
09:59:59
И он работает поверх NuGet инфраструктуры.
Мне кажется @grishaandrianov про то, что замена указана на том же слайде.

Evgeniy
05.04.2018
10:00:45
Ок, я уже запутался в слоях постиронии. :)

Roman
05.04.2018
10:00:50
а чью фотку зачеркнули?

Google
Evgeniy
05.04.2018
10:01:04
Roman
05.04.2018
10:02:11
Розжиг

Bonart
05.04.2018
10:03:24
Для пакета есть интеграция с msbuild?

А то отдельные reference-файлы напрягают

Evgeniy
05.04.2018
10:06:20
Для пакета есть интеграция с msbuild?
Есть, но paket работает со своими файлами.

И генерирует вот такой файлик, который включается в проект. <Import Project="..\..\.paket\Paket.Restore.targets" />

Bonart
05.04.2018
10:07:04
Есть, но paket работает со своими файлами.
Хочется не хуже, чем сейчас есть у нугета, для которого свои файлы можно не заводить

Friedrich
05.04.2018
10:15:39
Хочется не хуже, чем сейчас есть у нугета, для которого свои файлы можно не заводить
Можно сделать. Устанавливай tool package из нугета, а в нём запили target-файл с этой волшебной строчкой.

target-файлы из нугета автоматически кушаются мсбилдом, поэтому ничего дополнительно писать не придётся.

Pavel
05.04.2018
10:19:51
Секретные билды из MSR? :)
публичные беты.

Evgeniy
05.04.2018
10:21:29
публичные беты.
А откуда о них узнал? Кажется, в те годы довольно сложно было просто наткнуться.

Friedrich
05.04.2018
10:21:36
target-файлы из нугета автоматически кушаются мсбилдом, поэтому ничего дополнительно писать не придётся.
(но это, кажется, означает, что тебе придётся ставить paket и некий пакет поддержки из нугета, а остальное уже можно из paket)

Надо бы поэкспериментировать с этими идеями, я думаю.

Pavel
05.04.2018
10:23:32
А откуда о них узнал? Кажется, в те годы довольно сложно было просто наткнуться.
уже не помню. искал фп под нет. sml.net был, еще чтото. не помню как на них вышел. но не секретная была

сейчас ужу мало что в инете по тем временам осталось но гугл все еще чтото помнит



напомню что версия 1.0 выйдет только через полгода от этой статьи

Evgeniy
05.04.2018
10:30:15
Хороший сайт.

Igor
05.04.2018
10:32:25
кто-то уже проверил/опробовал новенькую FSharp.Data 3.0?

Google
Evgeniy
05.04.2018
10:32:50
кто-то уже проверил/опробовал новенькую FSharp.Data 3.0?
Я вчера погоду смотрел через JsonProvider.

Работает. :)

Evgeniy
05.04.2018
10:54:32
Но конкретно в этой статье используется F# версии >1.0

А так, да, винформы, GDI+. Ммм. :)

Pavel
05.04.2018
12:11:28
Но конкретно в этой статье используется F# версии >1.0
это легко объяснимо. сайт пытались поддерживать в более менее актуальном виде. поэтому после выхода 1.0 коды и описания могли подправить. но роботу гугла не объяснили как часто надо переиндексировать страницы. в результате в кеше гугла валяется самая первая и единственная версия страницы, он туда больше не разу за обновлениями не ходил. поэтому у него 2004.

Vasily
05.04.2018
12:49:22
Коллеги, есть вопрос

есть функция write <'a,'b,'ctx> data (map:'a->'b) (w:'ctx->'b->unit)= fun (s:'ctx->data|>map|>w s)

В определенном типе я хочу получать ctx->unit list

Roman
05.04.2018
12:53:02
Список пустот?

Vasily
05.04.2018
12:53:10
ТЬфу

Roman
05.04.2018
12:53:13
Метафизика и буддизм

Vasily
05.04.2018
12:53:22
('ctx->unit) list

Roman
05.04.2018
12:53:26
Ааа

Vasily
05.04.2018
12:53:34
'a может быть разным

Roman
05.04.2018
12:53:42
Список Уничтожайте лей контекстов

Vasily
05.04.2018
12:54:04
Вопрос, как мне в рамках одного типа осуществить такую свертку с разными 'a?

Писать в контексте метод map на каждый тип 'a не очень хочется

Roman
05.04.2018
13:02:01
Все в DU

Vasily
05.04.2018
13:02:23
Ну вот думаю над этим вопросом, конечно

Google
Vasily
05.04.2018
13:02:56
Только там будет кривой код конвертации в DU

Внешних данных

И обратно

А хотя не, не особо кривой по идее

Ща попробуем

Roman
05.04.2018
13:07:14
Хм, а можно же такой провайдер типов замутить, который бы смотрел на типы которые в функцию передают и герюнерировал бы DU и мапперы из DU

Vasily
05.04.2018
13:07:30
Это пока рано

Roman
05.04.2018
13:09:09
Я про мысль в целом. Был бы такой обобщенный вывод-генерация типов как либа подключаюшаяся.

Admin


Vasily
05.04.2018
13:10:07
Вот развяжу процесс сериализации с контекстом - можно подумать

Точнее дерево сериализации

Roman
05.04.2018
13:11:55
В определенном типе я хочу получать ctx->unit list
В каком определенном типе? Не понятно

А

Ещё раз прочитал

Sergey
05.04.2018
13:14:04
Надеюсь, видео быстро опубликуют.
да, тут много кто есть, примерно 150 человек сегодня. только вот @auduchinok никак не могу узнать)

Artemy
05.04.2018
13:26:46
Интересно, чем всё закончится

Vlad
05.04.2018
13:26:50
Прям «Жди меня»

Sergey
05.04.2018
13:31:15
)))))

Evgeniy
05.04.2018
13:32:30
Офигеть, видео уже выкладывают.

Google
Evgeniy
05.04.2018
13:32:55
https://skillsmatter.com/conferences/9419-f-sharp-exchange-2018#program

Нужно зарегистрироваться, чтобы смотреть.

Владислав
05.04.2018
13:37:51
а какой есть красивый способ создать тип с конструктором и только гет проперти?

Владислав
05.04.2018
13:40:56
Record?
не понял

Evgeniy
05.04.2018
13:41:43
не понял
Записи подойдут? https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/records

Владислав
05.04.2018
13:43:20
ага, спасибо!

Roman
05.04.2018
13:46:50


прям класс-класс, но лучше record

Roman
05.04.2018
13:52:00
оо, тоже проперти

?‍?
05.04.2018
13:52:07


Roman
05.04.2018
13:53:19
ну так да. Обычно если у тебя иммутабельные типы, то луше делать рекорд а не самому переписывать все equal gethashCode etc.

Привет!

F.
05.04.2018
14:36:56
Hi

Владислав
05.04.2018
14:42:42
а подскажите, пожалуйста

interface IRepository<'T> with member this.Filter predicate = entityList |> List.filter predicate member this.Get filter = entityList |> List.find filter member this.Add entity = entityList <- (entity :: entityList) member this.Delete entity = entityList <- (entityList |> List.filter (not << isEntityEqualsWith entity)) member this.Update entity = this.Delete entity

> member this.Update entity = this.Delete entity entity - почему здесь ошибка? я не могу сослаться на методы, который объявил?

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