
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
Ограничение по значению, хз