@Fsharp_chat

Страница 738 из 772
Ayrat
03.10.2018
09:14:05
Не нашёл в спеке объяснения вот такой записи let a = struct (2,3) Т.е. мне понятно что она делает, но непонятно можно ли её ещё к чему пришпандорить.

Vasily
03.10.2018
09:49:23
Value struct создаёт?

Google
Ayrat
03.10.2018
09:49:32
Value struct создаёт?
точнее обычный let a = 1,2 создаёт на хипе объект Tuple<int,int> на C# это var a = new Tuple<int,int>(1,2); а вот let a = struct (1,2) создаёт ValueTuple на C# это же var a = (1,2)

А в fslang suggestions есть?
нашёл такое, но оно ничего не объясняет https://github.com/fsharp/fslang-design/blob/master/FSharp-4.1b/FS-1046-consistent-tuple-types.md

всё, нашёл https://github.com/fsharp/fslang-design/blob/master/FSharp-4.1/FS-1006-struct-tuples.md

Как всегда костыли из-за C#!!11

Vlad
03.10.2018
09:56:54
Как всегда костыли из-за C#!!11
Ну так-то до этого стракт туплей не было

Ayrat
03.10.2018
09:57:55
Ну так-то до этого стракт туплей не было
Ну скажем так, в F# тупли давно были, но свои. Потом их привели к виду как в C# (когда ещё они не были частью либы и их надо было явно нугетом подключать), а потом C# сделал ход конём и поменял обычные тупли на StructTuple

свои были тупли потому что других не было вообще

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

Alexey
03.10.2018
10:00:27
хммм... функциональщик, думающий об оптимизациях производительности и использовании кучи?

я раньше думал что так не бывает

Vasily
03.10.2018
10:03:39
Бывает

Google
Vasily
03.10.2018
10:03:56
Но это следующий этап

Ayrat
03.10.2018
10:25:38
хммм... функциональщик, думающий об оптимизациях производительности и использовании кучи?
мы тут недавно выяснили что F# со спанами в асинке работает лучше C#, так что го на тёмную сторону)

Roman
03.10.2018
11:16:14
мы тут недавно выяснили что F# со спанами в асинке работает лучше C#, так что го на тёмную сторону)
А C# же по-моему вообще не даёт со всякими стекаллоками работать в асинке

Roman
03.10.2018
11:17:08
Таки да.
"Но не гопак!" - выскакивает из-за угла Айрат)

Ayrat
03.10.2018
11:17:14
Я пытался сделать ещё лучше и протащить спан между асинками в том же треде через контекст сихронизации и поинтеры. Неудача меня постигла

Ayrat
03.10.2018
11:17:57
Фига ты жоский
Я не сразу понял почему меня постигла неудача, к слову

Roman
03.10.2018
11:17:59
Но вопрос тебе на засыпку.

Ayrat
03.10.2018
11:18:04
всё было так хорошо

Roman
03.10.2018
11:18:15
А что будет со стек-фреймом, когда твой тред другой таск возьмёт?)

Roman
03.10.2018
11:18:29
Конинюэйшон другого таска выполнять

хе-хе)

Ayrat
03.10.2018
11:19:18
короче да. Как только мы выполняем асинк байндинг и создаём трамплин или отдаём континуейшн, метод-то заканчивается и твой спан (в текущим стекфрейме) уходит в унитаз

и хоть поинтер валидный и стек на том же треде, там уже будут рандомные данные

Vasily
03.10.2018
11:20:05
Шо как бы логично

Ayrat
03.10.2018
11:20:16
Ну как бы да. Но мне по началу так не казалось

Vasily
03.10.2018
11:20:26
С другой стороны, если использовать mvar...

Roman
03.10.2018
11:20:28
Можно конечно свой шедулер написать, выделить память офхип и прокидывать её в каждую таску, в итоге получим что-то типа стекаллока, но менеджмент памяти целиком в руках шедулера.

Google
Ayrat
03.10.2018
11:20:37
Типа, камон. Я же свичнулся в тот же тред. Вот мой поинтер, отдай мне падла данные на стеке

Vasily
03.10.2018
11:21:43
Звучит не очень

Roman
03.10.2018
11:21:54
Типа, камон. Я же свичнулся в тот же тред. Вот мой поинтер, отдай мне падла данные на стеке
- Слыш, тред, видишь поинтер? - Вижу. - Гони мне мой спан, сцука! - Где стекфрейм? - Какой стекфрейм?

Vasily
03.10.2018
11:21:59
Отзвуки тредлокал

Anna
03.10.2018
11:23:28
Вы stackful корутины что ли хотите?

Ayrat
03.10.2018
11:24:26
Да, стекфрейм пропал. Тут ещё момент с хвостовой рекурсией. Надо сделать тред, который вызовет функцию в стекфрейме которой объявить спан. далее эта функция вызовет хвостато рекурсивную асинхронную функцию которая никогда не вернёт. Вся соль этой хвостато рекурсивной функции в том что она будет ждать инвоков в неё но будет иметь доступ к стекфрейму выше и соответственно к спану через поинтер. Победа? победа. Зачем это нужно? Хз

Ayrat
03.10.2018
11:28:10
По сравнению с жавой никто и не заметит!

не, у нас маты можно. Не все одобряют, но можно

Roman
03.10.2018
11:29:38
По сравнению с жавой никто и не заметит!
Не, вариант с шудулером и офхип памятью круче - ты там можешь под каждую таску аллоцировать буфер. Более того, если таска/джоба холодная, то и аллоцировать не надо. А если она отработала/отменилась/упала, то её буфер почистить и дать кому-то другому!

Roman
03.10.2018
11:30:55
Но это надо запинить кусок памяти и не давать гц что-либо делать с ним.

Google
Ayrat
03.10.2018
11:32:15
https://hopac.github.io/Hopac/Hopac.html#dec:module%20Hopac.Scheduler Можно даже сразу создавать шедулер с воркерами у которых стак по 20мб и всё там крутить)))

Alexey
03.10.2018
11:55:43
20 миллибайт? О_о

Ayrat
03.10.2018
12:01:58
20 миллибайт? О_о
ой ну что ты начинаешь

нормально же общались

Bonart
03.10.2018
12:02:34
Но это надо запинить кусок памяти и не давать гц что-либо делать с ним.
Вот от этого недостатка кусок стека и свободен

Roman
03.10.2018
16:17:22
https://habr.com/post/424895/ Уже обсуждали?

Grigoriy
03.10.2018
16:18:32
Невыразимыми...

Roman
03.10.2018
16:19:20
Невыразимыми...
все верно)

Grigoriy
03.10.2018
16:19:34
я так понимаю, что эта статья - часть его книжки по DDD

все верно)
я бы просто написал - Как избавиться от некорректных состояний

ну что это за слово такое...

Roman
03.10.2018
16:22:01
я бы просто написал - Как избавиться от некорректных состояний
МНе кажется выражает именно то что имелось ввиду. Нелья выразить некорректное состояние

Grigoriy
03.10.2018
16:22:04
ты можешь сходу сказать - какая это часть речи? :)

Roman
03.10.2018
16:22:20
прилагательное

Grigoriy
03.10.2018
16:23:00
угу

но слово всё равно - ужасное :)

а книжка - хорошая

Klei
03.10.2018
16:29:57
Кто админит F# news?

Google
Grigoriy
03.10.2018
16:30:50
Вот что меня беспокоило ) в русском - невыразимый - то, что нельзя передать словами. И надо 3 раза заголовок перечитать... ну, по крайней мере мне :)

Petr
03.10.2018
16:38:35
Тут есть кто?

Grigoriy
03.10.2018
16:38:54
Тут есть кто?
Здесь все!

Petr
03.10.2018
16:38:56
Все привет, мне нужна помощь по F#

Всем(

*

Сможете помочь начинающему программеру на F#?

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