@Fsharp_chat

Страница 185 из 772
eugene
31.05.2017
14:15:11
Даже если указать, то ругается, потому что у Equal тип ((obj * obj) * (obj * obj) -> bool)

Roman
31.05.2017
14:17:04
а зачем ты Equal в интерфейс внес?

напиши в реализации override

вдруг поможет

Google
Vasily
31.05.2017
14:18:16
Не поможет

eugene
31.05.2017
14:18:18
Так у меня же там abstract

Roman
31.05.2017
14:18:50
Так у меня же там abstract
ладно, вернуьс к компу попробую.

eugene
31.05.2017
14:25:56
Видимо типы вывести не может



Так работает

Летучая
31.05.2017
14:35:07
type MyType() = member A : string with get and set interface IA with member SayIA()

eugene
31.05.2017
15:01:31
А type в другом type нельзя объявлять, да?

Vasily
31.05.2017
15:01:40
Низя

eugene
31.05.2017
15:01:53
Эх

Vasily
31.05.2017
15:02:09
Тут концепция компиляции другая

Чем в c#

Google
eugene
31.05.2017
15:02:23
Я не знаю c# :)

Vasily
31.05.2017
15:02:37
А что знаешь?

eugene
31.05.2017
15:02:37
Я пытаюсь со стороны OCaml зайти

Vasily
31.05.2017
15:02:53
В ocaml порядок файлов важен?

eugene
31.05.2017
15:03:14
И тут нет модулей с параметризацией и все, теперь не знаю как выразить.

Vasily
31.05.2017
15:03:30
Ну ты скажи, чего хочешь добиться

На уровне типов

eugene
31.05.2017
15:04:18


Vasily
31.05.2017
15:05:01
Если ты про 'a view - это тебе надо discriminated union

Вообще, в чат надо призвать @gsomix

Он Окамл вроде знает

eugene
31.05.2017
15:06:53
Я пытаюсь заменить модуль-сигнатуру типом-интерфейсом. В нем нельзя объявить новый type, а нужно, это как раз 'a view.

Vasily
31.05.2017
15:08:37
Еще раз

Evgeniy
31.05.2017
16:26:10
@welltyped Да, придется перепроектировать.

Friedrich
31.05.2017
16:54:59
Эх, на Appveyor до сих пор F# 4.0 вместо 4.1.

Evgeniy
31.05.2017
16:56:00
@fvnever Разве?

Я помню, что в Travis был 4.0, а appveyor норм.

Friedrich
31.05.2017
16:56:29
А щас наоборот :)

https://github.com/ForNeVeR/1969/pull/13

Вон там апвеёр падает, потому что не может распарсить [<Struct>].

Google
Friedrich
31.05.2017
16:57:51
Я вообще-то даже не собирался использовать 4.1. Но я человек простой: вижу структуру — леплю на неё [<Struct>].

Evgeniy
31.05.2017
16:58:02
Странно.

Friedrich
31.05.2017
17:00:13
Починилось вот таким коммитом: https://github.com/ForNeVeR/1969/pull/13/commits/5d66b7ce99db933eec7b23afd934fd048db2b722

Evgeniy
31.05.2017
17:00:37
@fvnever Ну конечно!

Friedrich
31.05.2017
17:04:46
Вообще, для портабельности надо будет из нугета компилятор присобачить. Кто-нибудь разбирался, как это правильно делается?

Evgeniy
31.05.2017
17:05:23
@fvnever Посмотри skalarprodukt.

Friedrich
31.05.2017
17:05:40
А мы там прям компилятор припёрли?

Evgeniy
31.05.2017
17:05:52
Я делал для Travis.

Friedrich
31.05.2017
17:08:46
Хм, похоже, что там просто paket add nuget FSharp.Compiler.Tools version 4.1.0, а дальше оно само. Поразительно.

Evgeniy
31.05.2017
17:11:26
@fvnever Нет, это не все.

Я еще прописывал пути до targets в проекте.

Nikolay
31.05.2017
17:11:47
Ещё раз спрошу :3 Может подкините идею удобного DSL для телеграм библиотеки?

Friedrich
31.05.2017
17:12:51
Ещё раз спрошу :3 Может подкините идею удобного DSL для телеграм библиотеки?
А твоя либа вообще уже работает? Просто нам же всё равно надо было бота для чатика делать. Так, может, заодно её поюзаем и придём к выводам, что и как лучше переделать, чтоб было удобно.

@fvnever Нет, это не все.
Аха, соль вот тут: https://github.com/ForNeVeR/skalarprodukt/pull/26/files#diff-27ebce35e624ce2098a4da8dd9c1ce83R46

Evgeniy
31.05.2017
17:19:31
https://pragprog.com/book/swdddf/domain-modeling-made-functional

Смотрите, что пишут.

Nikolay
31.05.2017
17:29:44
В Newtonsoft.Json кстати есть конвертер DU, но он не работает так, как надо

Может я просто не правильно делаю, и в моём случае не нужен DU?

Roman
31.05.2017
18:10:19
Google
Aminion
31.05.2017
18:38:58
Пропустил дискач по DI, но все же, как в фп решается вопрос 9000 зависимостей, которые в отсутствии конструктора должны быть параметрами функции? Плюс, это что же, ручками прокидывать все зависимости сквозь слои функций?

Летучая
31.05.2017
18:50:13
Громко орал когда смотрел этот видос

Хороший стендапер И доклады познавательные

Aminion
31.05.2017
18:50:50
Ну так то да, я на шарпе в основном пишу, пока слабо представляю архитектуру фп программы.

Igor
31.05.2017
18:52:34
Хороший стендапер И доклады познавательные
У него ещё несколько есть по f#, вроде годные. Надо бы его в наш чатик добавь ?

k0balt
31.05.2017
19:01:50
Чувак меняй мышление. На тебе на разогрев https://youtu.be/Bn132AtZLhc классику ??
так и не смог выдержать больше 10 минут. у парня сильно специфический диалект, от его смеси русского и английского мозг взрывается.

Evgeniy
31.05.2017
19:03:39
Valentine Привет!

Valentine
31.05.2017
19:03:58
Добрый вечер!

Artemy
31.05.2017
19:33:53
Добрый

Летучая
31.05.2017
19:51:14
Добрый вечер!
Привет! Оперативно ты :)

Nikolay
31.05.2017
20:40:20
А как строка называется с тремя кавычками?

k0balt
31.05.2017
20:54:45
экранированная кавычка? )

Artemy
31.05.2017
20:56:06
triple-quoted string/трёхкавычечная строка?

Nikolay
31.05.2017
20:56:41
Меня интересует в общем как разрулить такой случай: let value = """ some "string""""

Ну кроме тупого: let value = """ some "string""" + "\""

Artemy
31.05.2017
20:59:32
Меня интересует в общем как разрулить такой случай: let value = """ some "string""""
Ну let value = """ some "string" """ работает (пробел перед """)

Nikolay
31.05.2017
21:00:57
k0balt
31.05.2017
21:01:30
а что в value записаться должно? " some "string""?

Google
Artemy
31.05.2017
21:02:14
Обычные строки с экранированием кавычек не очень подходят?

k0balt
31.05.2017
21:02:41
let value = @" some ""string""" я бы так писал

Artemy
31.05.2017
21:02:45
А то с трёхкавычечными действительно не очень работает

Nikolay
31.05.2017
21:03:13
Интересует именно возможность сделать с тремя кавычками такой финт :)

Artemy
31.05.2017
21:04:17
Оно того стоит?)

Тем более ясно, что просто так вот не работает. А какой-то другой вариант навряд ли уже будет лучше экранирования кавычки будь то слэшем, будь то кавычкой.

Nikolay
31.05.2017
21:05:33
Просто спортивный интерес :)

Artemy
31.05.2017
21:05:51
Разве что пробел или перенос строки.

Ну или ещё что

Nikolay
31.05.2017
21:30:37
Получилось конвертер сделать для DU, но пока работает только сериализация

Десериализовать хз как, главная сложность в том, чтобы определить какой из кейсов DU подходит под json

Летучая
31.05.2017
21:36:34
let value = @" some ""string""" я бы так писал
Эта "фича" дотнета оч сильно меня взрывает

Ужасное коверканье строковых литералов В кошмарах снится, кто вообще такое придумал

Меня интересует в общем как разрулить такой случай: let value = """ some "string""""
Пробел поставь Что блин опять за странности """ так "работает" """ """ так не "работает"""" Там issue открытой на гите с этим случайно нет? (поискал, нет) Очень странное поведение, если это фича, то это костыль, а не фича.

Serge
31.05.2017
21:47:17
Поставь себя на место парсера! Как рассмативать """"? Как "(""") или как (""")"? А может быть, вообще как ("")("")?

Летучая
31.05.2017
21:47:44
Досматривать до конца. У парсера питона с этим проблем нет, так почему у фшарпа они должны быть?

А, нет, у питона та же проблема.

Serge
31.05.2017
21:49:09
Потому что F# — не Python? ?

Я даже не стал проверять, ага ?

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