
Vasily
20.09.2017
13:17:33
Или глобально все поломалось?
Хотя кейс интересный
С резолвом типа операции

Vagif
20.09.2017
13:18:10
Все поломалось глобально. Все инты требует поменять на ActorPath.

Google

Vagif
20.09.2017
13:19:03
Я написал Бартошу (автору), он согласился, что надо бы откатить назад это определение, но пока он выпустит новый релиз, я хочу поставить заглушку, но не получается.

Vasily
20.09.2017
13:19:21
Вообще, выглядит как наркомания

Vagif
20.09.2017
13:21:25
Намерения были благие :-)

Evgeniy
20.09.2017
13:24:34
@VagifAbilov open Operators
Возвращает изначальные определения операторов.

Vagif
20.09.2017
13:30:53
Спасибо, попробую

Vasily
20.09.2017
13:31:28

Evgeniy
20.09.2017
13:33:11
Не надо так делать
Не желательно, конечно. Но вот в FSharp.Core так делают для работы с Unchecked.
В любом другом коде это не нужно, конечно. :)

Vasily
20.09.2017
13:33:50
Там получается, что вывод типов при первом вызове ломается, как я понял

Evgeniy
20.09.2017
13:34:14
Так с inline нигде ничего не ломается.

Vasily
20.09.2017
13:34:39
Тогда непонятно поведение компилятора у Вагифа

Google

Evgeniy
20.09.2017
13:34:55

Vagif
20.09.2017
13:34:58
@gsomix Да, open Operators восстановило деление. Теперь все компилируется

Evgeniy
20.09.2017
13:35:09

Vagif
20.09.2017
13:35:14
Да, это был глобальный оператор.

Vasily
20.09.2017
13:35:23
Красавцы
Я ж грю, наркоманы

Evgeniy
20.09.2017
13:35:47
Предложение что ли кинуть, чтобы запретить так делать?
Или хотя бы ворнинг.

Vasily
20.09.2017
13:36:10
По идее нужен запрет на переопределение на уровне компилятора

Vagif
20.09.2017
13:36:34
Ну вообще с учетом потенциальной опасности хотя бы warning не помешал бы.

Vasily
20.09.2017
13:36:47
Кто на эти варнинги смотрит

Vagif
20.09.2017
13:37:22
У нас ворнинг как ошибка во всем проекте.

Vasily
20.09.2017
13:37:30
Njulf gjvj;tn
Тогда поможет
У разработчиков акклинга может быть не так

Evgeniy
20.09.2017
15:09:22
Посмотрите, о чем твитнул(а) @tomaspetricek: https://twitter.com/tomaspetricek/status/910516469380866049?s=09
Довольно интересная статья про обучение F#.

Pawel
20.09.2017
19:53:35
https://ravendb.net/docs/article-page/3.5/http/indexes/indexing-hierarchical-data
Вполне допускаю что на этом можно строить сложные надёжные масшатбируемые системы, но для быстрого старта и исследований в области data mining оно вообще ни как не алё.
В моём представлении в NoSQL сервере всё должно быть тупо и примитвно, как в CouchDB., а здесь всё очень сложно. Magic everywhere. Очень много опций реализовано через интроспекцию. Постгресс на много менее хардкорный - его функции проще , и от него знаешь что ждать. Надо будет ещё посмотреть это на предмет сравнения с OrientDB, но на первый взгляд Orient тоже на много проще.
Как говорится, спсибо автору за ознакомление.

Astmatik
20.09.2017
19:54:58
Не собираюсь быть адвокатом RavenDB, но мне кажется, что это вопрос дизайна схемы данных, а не "фич" БД.

Google

Astmatik
20.09.2017
19:56:46
Документооринтированные БД сами по себе тупые как пробки. Что положил, то и лежит.
Зависимости и отношения изобретай сам.

Pawel
20.09.2017
20:02:30

Astmatik
20.09.2017
20:08:02
А что нужно? Графы?

Pawel
20.09.2017
20:13:44
А что нужно? Графы?
не обязательно, отношения между документами можно самому написать. Нужны нетипизированные деревья в основном, и чтобы при их обходе никакой рефлексии не вызывалось, иначе комп дохнет
если бы были принципиально нужны графы, я бы взял OrientDB, она очень гут

Astmatik
20.09.2017
20:15:20
Про монгу почему-то подумалось..
И на ноде сразу захуячить

Pawel
20.09.2017
20:16:19

Roman
20.09.2017
20:17:00

Pawel
20.09.2017
20:20:10
Про монгу почему-то подумалось..
моонга отстой, самое днище практически. Хранит всё в жсон, что идиотизм. На 100 гигов информации в ней будет на 2 порядка меньше, чем у меня в boltdb в двоичном виде. И транзакций у неё нет, то есть на любой update есть не нулевая вероятность, что все данные пропадут на хрен

Astmatik
20.09.2017
20:20:59
Транзакции прикрутили, емнип

Pawel
20.09.2017
20:21:25

Летучая
20.09.2017
21:48:43
Как из F# C#-у сунуть IReadonlyDictionary?
Тип IDictionary несовместим с типом IReadOnlyDictionary (WTF???)
dict[] |> Dictionary<string, string> — а вот так запихивается в IReadOnlyDictionary. Почему Dictionary можно скастить в ридонли, а IDictionary нельзя? Это фича или баг (куда репортить?)?

Roman
20.09.2017
22:18:10
Вернее, IReadOnlyDictionary. Ну и Collection тоже имплементит, офк :)

Летучая
20.09.2017
22:24:14

Friedrich
21.09.2017
04:57:36

Google

Pavel
21.09.2017
08:54:41
у меня, возможно, странный вопрос: можно ли определить функцию, которая возвращала бы себя же? пример: let rec foo input = foo
использоваться это будет примерно следующим образом: let rec foo state inputMsg = (*apply somehow input to state*) foo newState

Evgeniy
21.09.2017
08:57:32

Pavel
21.09.2017
08:57:45
вот да, она бесконечна =\

Friedrich
21.09.2017
09:00:23

Evgeniy
21.09.2017
09:00:59

Pavel
21.09.2017
09:02:10
ну тип это вообще не скомпилируется, поэтому сигнатуру предъявить не очень получится, не? :)
у того, что хотел я, как мне кажется, должна быть бесконечная сигнатура, т.к. результат функции — функция с таким же результатом
надеялся, что есть какой-то трик, который я не знаю

Friedrich
21.09.2017
09:04:10

Evgeniy
21.09.2017
09:04:50

Friedrich
21.09.2017
09:04:59
Хотя, честно признаться, я с трудом себе представляю, как ты этот код собираешься потом использовать.

Pavel
21.09.2017
09:06:09
мысль была в том, чтобы делать стейт-машины на этом
есть несколько функций с одинаковой сигнатурой: принимают стейт и сообщение
возвращают очередную функцию с такой же сигнатурой

Evgeniy
21.09.2017
09:07:05
Хотел стейт инкапсулировать?

Vasily
21.09.2017
09:07:25
Это же Free Monad
В чистом виде

Pavel
21.09.2017
09:07:40
ну не обязательно, можно же возвращать кортеж из очередной функции - обработчика и стейта

Google

Vasily
21.09.2017
09:08:25
Ну все равно фримонадка в чистом виде
И дерево можно нормально построить
У Симана недавно статья на эту тему была

Pavel
21.09.2017
09:09:03
честно говоря, я ламер и ближайшие минут десять буду тупить
а можно ссылку на статью?

Evgeniy
21.09.2017
09:09:24

Aleksey
21.09.2017
09:09:44
Ну да foo : a -> (a -> a)

Vasily
21.09.2017
09:10:02
http://blog.ploeh.dk/2017/07/31/combining-free-monads-in-f/

Pavel
21.09.2017
09:10:03

Vasily
21.09.2017
09:10:19
Ну и далее и ранее по тексту

Pavel
21.09.2017
09:10:26
тип каждый шаг обработчик может быть другим

Aleksey
21.09.2017
09:10:39
"очередного обработчика", это континьюэйшн?

Vasily
21.09.2017
09:11:07
Ну фри монадка жеж

Aleksey
21.09.2017
09:11:16
data Next a = End a | Cont (a -> Next a)

Vasily
21.09.2017
09:11:22
Ага

Pavel
21.09.2017
09:11:45
судя по сигнатуре очень похоже на то, что хочу
но нифига не поинмаю :D

Aleksey
21.09.2017
09:13:09
Это тип-сумма, который имеет два варианта
- Конец - возвращаем a
- Продолжаем - возвращаем функцию-продолжение