@Fsharp_chat

Страница 240 из 772
Igor
22.07.2017
11:21:25
Программирование на F# - Oreily (русский перевод)
Это которая от “Криса Смита” про F# 1.0 ? (сам ее сейчас читаю)

Adam
22.07.2017
11:22:29
Это которая от “Криса Смита” про F# 1.0 ? (сам ее сейчас читаю)
Не смог найти упоминания версии. Автор - Крис Смит

Igor
22.07.2017
11:24:08
Не смог найти упоминания версии. Автор - Крис Смит
“Вступительное слово” от Дона С., стр 14

Google
Friedrich
22.07.2017
11:52:59
https://github.com/ForNeVeR/strafesharp/blob/65e4241281d771324d1c86081a87ea2c001ca495/StrafeSharp/Platform.Windows/SpDeviceInterfaceDetailData.fs — пишу и рыдаю, чуваки, рыдаю и пишу ?

Vlad
22.07.2017
11:54:34
Маршал ансейф на службе?)

Friedrich
22.07.2017
11:58:09
Для того, чтобы не мучиться с отсутствием оператора стрелки, пришлось в уме вычислять смещение и хардкодить его :(

Friedrich
22.07.2017
12:00:03
Кто знает, я пока на практике не тестировал. Наверняка рухнет.

Всю эту платформенную требуху даже тестами как следует не покроешь.

Evgeniy
22.07.2017
12:06:18
да, похоже речь в примере о деструктуризации кортежа шла
В примере — да. Но ты можешь туда любой шаблон подставить.

да, похоже речь в примере о деструктуризации кортежа шла
Вот здесь есть перечисление паттернов: https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/pattern-matching Еще можно писать свои паттерны, но это дальше в книге будет, наверное.

Roman
22.07.2017
12:14:58
А что кстати кто порекомендует почитать по фшарпу? А то я не особо много литературы нашел.

Roman
22.07.2017
12:15:46
да, спс, этот сайт я и так читаю периодически)

Google
Evgeniy
22.07.2017
12:16:32
Больше ничего не могу порекомендовать.

Roman
22.07.2017
12:17:33
спасибос

Adam
22.07.2017
12:44:58
Цитата из книги по F#. Не совсем понятно, что тут имеется в виду. «В языке C# существует возможность реализовать интерфейс лишь частично и предоставить производным классам недостающую реализацию. В языке F# такая возможность отсутствует. Если тип объявляет, что он реализует интерфейс, он должен реализовать все методы и свойства»

Nikolay
22.07.2017
13:22:44
А как в F# сделать типа такого: (await SomeFunc()).SomeValue

Можно получается сделать так: let! x = SomeFunc() x.SomeValue

Но хочется именно одним выражением

Летучая
22.07.2017
13:24:21
Возможно меня осудят, но let await (task: Task<'a>) = async { let! result = task |> Async.AwaitTask return result } |> Async.RunSynchronously

SomeFunc() |> await |> fun res -> res.SomeValue или (await <| SomeFunc()).SomeValue

Nikolay
22.07.2017
13:25:12
Хмм

Можно вроде так: (do! SomeFunc()).SomeValue

Летучая
22.07.2017
13:30:48
Кстати, что можете посоветовать испоьзовать для мокинка интерфейсов через F#? Foq не подходит, нужно что-то для кора/нетстандарда.

Friedrich
22.07.2017
14:05:27
Ух, а я баг в конпеляторе нашёл, кажется.

Adam
22.07.2017
14:07:12
Ух, а я баг в конпеляторе нашёл, кажется.
пуканы «конпелятором» взрываешь?

Friedrich
22.07.2017
14:07:31
Ни в коем случае. Если кому-то такое написание не нравится, прошу прощения.

Ага, разобрался. Я заставил компилятор создать Tuple из ref-типа, и это считается невалидным.

https://github.com/Microsoft/visualfsharp/issues/3362 — вот и багуля.

Adam
22.07.2017
14:26:06
Можно ли ещё короче записать: let fst3 tup = let x, _, _ = tup x

Google
Adam
22.07.2017
14:31:49
let fst3 (x, _, _) = x
спасибо!

Nikolay
22.07.2017
14:51:03
А в SqlProvider'e можно сохранять взаимосвязанные записи?

Хреново наверное объяснил

Например, User связан с UserRole, и мне нужно создать сразу User и UserRole, в EF я бы сделал так: var user = new User { UserRole = new UserRole() };

Adam
22.07.2017
14:55:27
Например, User связан с UserRole, и мне нужно создать сразу User и UserRole, в EF я бы сделал так: var user = new User { UserRole = new UserRole() };
В конструкторе класса User инициализровать поле userRole инстансом? Или UserRole не входит в User?

Nikolay
22.07.2017
14:57:58
Там есть такое проперти: UserRole by Id

Adam
22.07.2017
14:59:40
Там есть такое проперти: UserRole by Id
на псевдокоде могу написать

Nikolay
22.07.2017
15:00:02
Щас посмотрю, прокатит ли так

Но что-то мне название не очень нравится)

Вопрос был именно по SqlProvider'у, по его специфике работы

Evgeniy
22.07.2017
15:06:23
Nikolay
22.07.2017
15:06:44
Проставить правильные id?
А если записи ещё не созданы?

EF сам разруливает такие случаи

Evgeniy
22.07.2017
15:06:59
А если записи ещё не созданы?
Создать в правильном порядке.

Nikolay
22.07.2017
15:07:02
Интересно было умеет ли такое SqlProvider

Evgeniy
23.07.2017
05:13:09
Привет! о/

Donald
23.07.2017
05:13:28
Привет! о/
Привет

Friedrich
23.07.2017
08:03:07
Народ, а кто-нибудь у себя собирал visualfsharp? У меня всё собралось, но один тест валится :(

Google
Friedrich
23.07.2017
08:04:01
Хм, а пойду-ка я им баг оформлю. Похоже, что там требуется английское сообщение об ошибке, а у меня русское выводится (но правильное).

Завёл багу: https://github.com/Microsoft/visualfsharp/issues/3363

Nikolay
23.07.2017
09:01:35
А как инициализировать запись с генериком?

Типа: type SomeType<'a> = { SomeFiled: int }

let x = { SomeField = 1 }

Friedrich
23.07.2017
09:09:19
Сходу в голову приходит написать let x : SomeType<int> = { SomeField = 1 }

Но ты можешь и просто забить и полагаться на вывод типов.

Если у тебя дальше по коду требуется, чтобы x имел тип SomeType<int>, то оно и в твоём варианте всё само выведет как надо.

Nikolay
23.07.2017
09:28:37
Типа так получается: let query queryText parameters = { QueryText = queryText; Parameters = parameters; }: SqlQuery<'a>

Вот так лучше

Friedrich
23.07.2017
14:40:59
Смотрите, я пофиксил ворнинг ,3 https://github.com/Microsoft/visualfsharp/pull/3365

Evgeniy
23.07.2017
14:49:10
> Lena Hall > If you are maintaining #fsharp projects, mark items that are good for new contributors work on as 'up-for-grabs': http://up-for-grabs.net/#/tags/fsharp

F# Weekly #30, 2017 - Happy 2nd-anniversary Jet https://sergeytihon.com/2017/07/23/f-weekly-30-2017-happy-2nd-anniversary-jet/

ect"==typeof module.exp
23.07.2017
16:05:40
Что-то у меня странный полёт с F# на Win10. VSCode с установленным Ionide устраивает BSOD, У Атома постоянно падает FSharp.Compiler.Service.ProjectCrackerTool.exe Что опроисходит вообще?

Проектный файл созданных через dotnet core MS Visual Studio Community 2017 отказывается открывать.

ect"==typeof module.exp
23.07.2017
16:14:21
Но он честно пытается открыть. Сейчас проверю знает ли MSVS17 про dotnetcore

Летучая
23.07.2017
16:15:37
и даже собирает

но подсветка синтаксиса неадекватная вообще

Google
Летучая
23.07.2017
16:16:01
пакеты не видит коровские

обещали допилить к выходу из превью

ect"==typeof module.exp
23.07.2017
16:16:50
Это какой-то провал, на Win разрабатывать на F# вне MSVS невозможно, а под маком работать невозможно

Летучая
23.07.2017
16:17:12
хз кодирую на f# в вскоде из-под виндовс

всё норм

переустанови макос ?

ect"==typeof module.exp
23.07.2017
16:19:34
переустановка макос моему мау 2011 года - как мёртвому припарки, нормальная клавиатура у него не отрастёт )

хз кодирую на f# в вскоде из-под виндовс
я тоже так хотел но у меня vscode загоняет win10 в BSOD

Nikolay
23.07.2017
16:20:11
@fvnever а ты же там что-то писал связанное с sql?

Провайдер через файлы или что-то такое

ect"==typeof module.exp
23.07.2017
16:24:19
причём совсем непонятно в чём дело, установка win10 - свежая

Грешу на Ionide-Fsharp.

Oleg
23.07.2017
16:52:44
У меня без проблем работает на Win10.
Все-таки приложение не может просто так сделать BSOD. Я бы проверил память для начала

Это какой-то провал, на Win разрабатывать на F# вне MSVS невозможно, а под маком работать невозможно
Я позапрошлым летом вполне комфортно писал на MonoDevelop (до переименования в XS) под Маком. Интеллисенс был кмк получше чем на VS (без F# PowerTools правда), отладка, тесты. Что еще нужно...

ect"==typeof module.exp
23.07.2017
16:56:20
Все-таки приложение не может просто так сделать BSOD. Я бы проверил память для начала
Там не в памяти дело, ошибка связана с тем что какое-то приложение слишком долго ждёт ответа от какого-то прерывания, по этому ОС и блюскринит.

Igor
23.07.2017
16:58:41
Это какой-то провал, на Win разрабатывать на F# вне MSVS невозможно, а под маком работать невозможно
Использую VSCode уже пол года на маке, вроде все стабильно и с каждым релизом становится чуточку лучше)) (правда у меня 2013 mid)

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