Pavel
08.01.2018
10:52:46
делов то
Oleg
08.01.2018
11:05:25
Pavel
08.01.2018
11:06:55
Google
Pavel
08.01.2018
11:10:22
правильный quicksort тоже не особо читаем в отличии от красивого но падучего
Oleg
08.01.2018
11:10:41
Pavel
08.01.2018
11:11:19
Oleg
08.01.2018
11:14:21
Alex
08.01.2018
12:34:14
Подскажите пожалуйста, тайп провайдеры (не те которые erased) на net core 2 работают или все еще нет ?
Klei
08.01.2018
18:08:41
Alexander
08.01.2018
18:38:34
Я может щас полный бред скажу, но нельзя разве собрать проекты с разными вариантами и глянуть на них через рефлектор. Всёж на один IL собирается или я не прав?
Klei
08.01.2018
18:40:28
Alexander
08.01.2018
18:40:51
про то каким путём идёт билд массива
Klei
08.01.2018
18:43:41
Alexander
08.01.2018
18:45:26
Может я не уловил мысль когда пробежался глазами по диалогу, но вы вроде бы спорили каким путём лист собиратется. Ну вот я и подумал что на IL сразу будет видно что к чему.
Klei
08.01.2018
18:53:43
Вариант конечно, но в целом обсуждается вопрос возможности сборки списка неопределённой длины без создания промежуточных структур данных. Без мутабельности внутри списка это сделать невозможно.
Google
Klei
08.01.2018
18:54:05
Лучше залезть в FSharp.Core и посмотреть как это сделали умные дяди.
Pavel
08.01.2018
19:05:51
let ReadLines() =
let rec loop () =
match Console.ReadLine() with
| "." -> Empty
| x -> MyList(x, loop())
loop ()
проход 1 реверса нет
и эмулируется им не построение списка а стек вызовов
ну а тоо что он медленее это другой вопрос
Klei
08.01.2018
19:13:27
Pavel
08.01.2018
19:46:11
https://twitter.com/migueldeicaza/status/950425632311267328
Даже не знаю, хорошие это новости или плохие :)
Evgeniy
08.01.2018
20:01:29
Интересно.
A64m
08.01.2018
20:47:06
Friedrich
09.01.2018
02:42:10
Pavel
09.01.2018
02:49:27
Klei
09.01.2018
02:57:32
Pavel
09.01.2018
03:03:19
и в каком месте тут копится состояние? здесь список строится. состояние копить это создать RezsizeArray и кидать в него промежуточные данные. или в случае аккумулятора. но даже если опустить вопрос состояния это все равно 1 проход без реверса
Klei
09.01.2018
03:11:59
В стеке, множество функций, что будут запущены в процессе чтения является таким же состоянием, только менее явным для новичка.
Pavel
09.01.2018
03:31:52
Klei
09.01.2018
03:35:52
Friedrich
09.01.2018
03:47:08
Google
Aleksey
09.01.2018
06:16:12
С чего это частичная функция - состояние? Эффект - да, но не состояние никак
Klei
09.01.2018
06:38:54
Aleksey
09.01.2018
06:39:54
Состояния не больше, чем в математической композиции морфизмов
Т.е. нет состояния
Pavel
09.01.2018
06:42:23
Aleksey
09.01.2018
06:42:39
Передача результата в качестве аргумента выглядит как состояние только с точки зрения реализации конкретного ЯП. Семантичнски никакого состояния нет
Klei
09.01.2018
06:43:25
это что?
Там же не про частичное применение.
Aleksey
09.01.2018
06:43:38
И вообще композиция функций никакого отношения к "в стеке" не имеет
Последовательное применение функций - не композиция
Ну и покапитанствую: частичная функция, это функция, определённая не для всех возможных значений аргументов
Pavel
09.01.2018
06:46:48
это "cont << f x" что?
Aleksey
09.01.2018
06:48:02
Арность у f какая?
Pavel
09.01.2018
06:48:48
Aleksey
09.01.2018
06:51:29
Хмм. В F# у композиции выше приоритет, чем у применения?
Pavel
09.01.2018
06:51:44
нет
Aleksey
09.01.2018
06:52:44
Но в коде выше у f арность - 1. В таком случае применённую f нельзя композить
Pavel
09.01.2018
06:53:08
вообще то 2
Aleksey
09.01.2018
06:53:09
Хотя она может же функцию вернуть
Всё, распарсил
Google
Klei
09.01.2018
06:54:07
Я рассуждаю в контексте F#, поэтому для меня композиция или частичное применение функций будут сведены к созданию условного делегата от двух переменных. Если переходить к формальной стороне дела, то скорее всего я не прав, но я туда и не лезу, ибо образование не позволяет. Но заменять явный список, на функции и утвержать, что мы избавились от проблем в реальном мире - ошибочно.
Aleksey
09.01.2018
06:54:42
Не нужно строить лишних аналогий в голове
Композиция функций - не передача состояния
И у частично примененной функции нет никакого состояния, если замкнутое значение - иммутабельное
Если мутабельное, то у частично применённой функции "состояние" - нарушающее referential transparency - может быть
На всякий случай повторю: частично примененная функция и частичная функция - разные вещи и путать их нельзя
(выключил режим "зануда")
Klei
09.01.2018
07:08:32
Еще раз, чтобы все друг друга поняли и никто не забросил нечего на вентилятор:
* мы обсуждали вопрос одноразового построения списка без создания дополнительных структур и без проблем на стеке.
* в процессе обсуждения был предложен вариант через продолжения.
* я попытался объяснить, что при таком решении под капотом будет построена цепочка ссылающихся однонаправленно делегатов.
* в просессе объяснения были использованы термины схожие с общепринятыми, но в некоторых местах от них отличающиеся (для удобства и краткости, а не для введения в заблуждение).
* по итогам обсуждения мы друг друга поняли, выработанную в процессе обсуждения терминологию никто выплескивать в большой мир не планировал.
* скобочка закрывается, скоп лишается локальных переменных, все.
Evgeniy
09.01.2018
07:11:45
Чудно.
Видели уже?
https://github.com/fsprojects/Mechanic
tl;dr The idea is to create a dotnet core tool that uses the FSharp.Compiler.Service to find a valid file order.
Привет.
n06rn
09.01.2018
07:39:14
необычно что приветствуешь)
Evgeniy
09.01.2018
07:39:43
Я бот.
n06rn
09.01.2018
07:41:39
Я бот.
эм, разве? Вот другого человека при входе не приветствовал.
Roman
09.01.2018
07:41:47
Google
n06rn
09.01.2018
07:42:26
она смотрю присоединилась к чату, на нее никакой реакции не было.
Evgeniy
09.01.2018
07:43:03
n06rn
09.01.2018
07:43:32
Vlad
09.01.2018
07:45:31
Roman
09.01.2018
07:53:51
@nastyanastya787 Привет!
Анастасия
09.01.2018
07:55:10
Roman
09.01.2018
07:55:42
Evgeniy
09.01.2018
08:05:23
https://github.com/fsharp/fslang-suggestions/issues/506#issuecomment-356053292
Все еще обсуждают!
Anna
09.01.2018
08:07:07
Господа, а давайте придумаем, как value restriction по-русски обозвать. В русском переводе Пирса - "ограничение на значения", но это некрасиво и неправильно.
Pauline
09.01.2018
08:09:26
никак
Fill
09.01.2018
08:10:45
вэлью - рестрикшн
красиво и правильно
Дед Пегас
09.01.2018
08:11:20
Nikolay
09.01.2018
08:11:24
Ограничение по значению, хз