@Fsharp_chat

Страница 265 из 772
Vasily
15.08.2017
15:03:30
не за что

Выглядит примерно так: let defaultShipping=http { param "shippingName" "masa" param "shippingAddress" "masapay No.88" param "shippingPostalCode" "MASA88" param "shippingCountry" "CN" param "shippingState" "masa" param "shippingCity" "masa" param "shippingEmail" "null@masapay.com" param "shippingPhoneNumber" "021-1234567" }

Mike
15.08.2017
15:06:39
А у тебя просто dotnet restore норм работал?
Да, даже собрался и заработал. Я пытаюсь на базе github.com/FSharpBristol/FSharp-Template-for-Aws-Lambda сделать то, что мне нужно. Но пока ни с http, ни с dynamodb работать не получается.

Google
Vasily
15.08.2017
15:09:45
Кортежи бы выглядели по-другому

К тому же суть билдера в другом

Он по факту строит шаблон

Все никак туда контекст не добавлю

Vasily
15.08.2017
15:11:10
Чтобы было 'c->HttpRequestMessage->'c

Тьфу

Андрій
15.08.2017
15:11:28
Vasily
15.08.2017
15:11:40
HttpRequestMessage->'c->HttpRequestMessage

Google
Nikolay
15.08.2017
15:12:54
Ну и фиг с ним
Ну я специально делал порт под .Net Core стандартной либы

Может созрею потом для своей, но пока нужды нет

Андрій
15.08.2017
15:14:22
F# сейчас почти весь на этих старых отмирающих классах. Поэтому при переходе на Core 1.0 было тяжко.

Nikolay
15.08.2017
15:15:50
Мне вообще сама концепция передавать какой-то объект при запросах не очень нравится

Довольно криво выглядит в ФП, по моему мнению

Vasily
15.08.2017
15:20:30
Ну там фишка в том. что объект приезжает в билдер

Friedrich
15.08.2017
15:34:40
А смотрите как можно: я с помощью билдера дефайню у себя ресурсы. И получаю из билдера какую-то функу типа params -> HttpResponse

Эта функа, полученная из билдера, будет реюзать HttpClient

Типа так: let resource = buildResource() // инстанцирует клиент и готово к запросам let result1 = resource.get(100500) let result2 = resource.get(200500) // эти два вызова реюзают клиент let resource' = buildResource() // а вот этот ресурс будет с другим экземпляром клиента работать

Ну, это пока не готовая концепция, а так, мысли.

Roman
15.08.2017
15:38:16
Есть пример?
Достаточно чтоб ф-ция возвращала WebPart

Igor
15.08.2017
16:03:30
А как в XUnit Assert сравнивать списки []? Сейчас сравниваю так: Assert.Equal([] |> box, actual |> box) но чувствую что есть более правильный путь

Vlad
15.08.2017
16:07:53
круто, может скоро и выйдут на новый уровень

https://blogs.msdn.microsoft.com/dotnet/2017/08/14/f-and-net-core-roadmap-update/

Evgeniy
15.08.2017
16:09:44
А как в XUnit Assert сравнивать списки []? Сейчас сравниваю так: Assert.Equal([] |> box, actual |> box) но чувствую что есть более правильный путь
А ты не пользуешься FsUnit? Я не уверен, но там могло быть реализовано сравнение F# коллекций.

Она netstandard1.6, работает поверх xUnit.

Снежный
15.08.2017
16:11:54
Всем привет. Кто-нибудь сталкивался с Suave.DotLiquid?

Igor
15.08.2017
16:13:11
А ты не пользуешься FsUnit? Я не уверен, но там могло быть реализовано сравнение F# коллекций.
Вроде пока xunit изкоробочный всем устраивает (одну функцию для сравнения списков могу и сам написать). Планирую заюзать FsCheck для property-based тестов.

Андрій
15.08.2017
16:22:48
FsCheck - круть!

Roman
15.08.2017
16:27:28
Всем привет. Кто-нибудь сталкивался с Suave.DotLiquid?
Привет. Видимо нет. Но я помню о ней вроде писали в suave music store

Google
Снежный
15.08.2017
16:27:47
спасибо, посмотрю

Evgeniy
15.08.2017
17:36:51
Я сегодня решил еще разок взглянуть на возможный encoding для классов типов в F#.

Это довольно интересно. Взгляните, если не видели. https://github.com/MattWindsor91/visualfsharp/blob/hackathon-vs/examples/fsconcepts.md

Если я правильно понял, то в рамках этого концепта должны добавится новые правила для вывода типов и несколько аннотаций.

В чистом виде, без изменений компилятора, это выглядит как-то так: type Eq<'A> = abstract equal: 'A -> 'A -> bool let equal<'A,'EqA when 'EqA : struct and 'EqA :> Eq<'A>> a b = Unchecked.defaultof<'EqA>.equal a b [<Struct>] type EqInt = interface Eq<int> with member this.equal a b = a = b equal<int, EqInt> 5 5

С предлагаемыми изменениями: [<Trait>] type Eq<'A> = abstract equal: 'A -> 'A -> bool let equal a b = Eq.equal a b [<Witness>] // a.k.a instance type EqInt = interface Eq<int> with member equal a b = a = b // no 'this.' equal 5 5

Довольно чистенький код и без новых ключевых слов (в традициях F#).

Igor
15.08.2017
17:50:26
По поему тоже кратко и выразительно. Современная практика менять ключевые слова на аннотации, в котлин тоже заменили некоторые к.с. java, типа volatale на анноташки.

Artemy
15.08.2017
17:59:28
> анноташки ^_^

Evgeniy
15.08.2017
17:59:46
Сайм, кстати, недавно обновил раздел Research на сайте F#. Добавил как раз туда статью про тайпклассы.

Artemy
15.08.2017
18:00:55
Всё это таки планируют добавить или ещё думают?

Evgeniy
15.08.2017
18:01:01
Думают.

Сайм говорил, что компилятор в хорошей форме, если его можно так неплохо расширить. Но саму фича очень много обсуждений вызывает.

Artemy
15.08.2017
18:01:57
Ждут поддержки на уровне среды, вроде, так?

Evgeniy
15.08.2017
18:03:47
Ждут поддержки на уровне среды, вроде, так?
Не совсем так. В этой реализации ничего от среды не требуется, нужно просто доделать компилятор.

Сайм говорил, что он не торопится из-за C#. Непонятно, что дизайнеры в следующий раз придумают, вдруг тайпклассы, нужно будет какой-то интероп делать.

Artemy
15.08.2017
18:06:04
Это да, там ведь тоже обсуждают тайпклассы, но со своим названием.

Типа пока ещё мало названий одного и того же существует.

Google
Evgeniy
15.08.2017
19:47:35
Ivan
15.08.2017
19:47:49
Да

Evgeniy
15.08.2017
19:48:17
Да
Она старая. http://www.mlworkshop.org/2016-7.pdf

Привет!

Ivan
15.08.2017
19:50:18
Нет, я имел в виду обновление. Это я читал. Кстати прототип концептов в C# и трейтов в F# они делали одновременно на одном хакатоне. Уже два или три года назад. И все мыслят ?

Evgeniy
15.08.2017
19:51:10
Список всех исследовательских статей про F#. https://github.com/fsharp/fsfoundation/blob/gh-pages/teaching/research.md

Ivan
15.08.2017
19:52:32
Обрати внимание на имена. Похоже в недрах приходят к общему мнению.

Claudio Russo, Matthew Windsor, Don Syme, Rupert Horlick, James Clarke: We have extended the open source C# compiler and language service, Roslyn, +with pervasive support for type classes and have prototyped a more minimalist design for F#.

Anton
15.08.2017
20:06:35
Привет!
Привет)

Коротко: фронтенд разраб (js), хочу просто попробовать F#) Надеюсь, некоторые тривиальные вопросы по языку здесь не воспринимаются в штыки)

Anton
15.08.2017
20:09:43
основной стек react-redux)

писал на нг1 и 2)

на втором немного)

Evgeniy
15.08.2017
20:10:05
Только, пожалуйста, придерживайтесь тематики чата. ?

Для любых других обсуждений есть флудилка: @dotnet_chat. Спасибо.

Anton
15.08.2017
20:11:17
ок, понял)

Evgeniy
15.08.2017
20:12:09
@antonptitsyn А тебя больше Fable интересует? Или F# на .NET?

Google
Anton
15.08.2017
20:12:32
Fable))

но сначала попробую на .net

Roman
15.08.2017
20:14:19
основной стек react-redux)
про redux и redux можно говорить в контексте Fable это тоже F# )

Anton
15.08.2017
20:15:19
на fable это выглядит пока для меня диковато) хотя, мб вопрос синтаксиса)

Дмитрий
15.08.2017
20:15:51
Fable))
А это что за зверь?

Anton
15.08.2017
20:16:07
F#+babel, я так понял))

http://fable.io

Nikolay
15.08.2017
20:17:10
Есть примеры с Elm на F# :)

Дмитрий
15.08.2017
20:17:23
Я правильно понял что это f# по верх js?

Evgeniy
15.08.2017
20:17:27

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