Vasily
Опять дед с батей по пьяни сцепились
Anonymous
fun (e1,e2,_,_) -> (e1,e2) - чистая функция, котора забывает структуру чего-то там. хм. я вижу, что она используется в каком-то мапинге, пока не ясно каком, но смысл в том, что мы от чего-то избавляемся. оевидно, нужно знать семантику Choice и тогда mapl наверно сам прояснится, но думаю, это обычный функтор.
Anonymous
handle2 ag1 ag2 f |> .. - банальная вещь
Vladislav
Anonymous
ясно что ты получаешь что-то, что потом некоторым образом маиптся. мне сейчас не важно, что и куда, хотя по названию типов уже тоже кое-что можно предоложить. если мне будет нужно узнать - я знаю четко где это исктаь.
Shub
очевидно, что пайпы не вызывают затруднений
Anonymous
разложенное на такие примитивы НИЧТО не вызывает затруднений
Anonymous
я не понимаю реально, в чем там сложность
Shub
вот ты открываешь ревью, видишь кусок типа (Choice.mapl (fun (e1,e2,_,_) -> (e1,e2))
Anonymous
если знаешь семантику контейнеров, то ее быть не должно
Anonymous
при условии, что маппинг - это маппинг и т.д.
Anonymous
это код очень понятный, при условии, что смысл фукнций в том, как они себя ведут. понятно, что именно он отбрасывает, понятно, что что-то мапится, понятно, что этому предшествует некая подготовка. а если мы перейдем на язык "это функтор" или "это - моноид/полугруппа", то вопрос только остается один - какова его семантика?
Anonymous
но на ревью, кроме прочего, ты должен быть хотя б немного в теме бизнеса, что, откуда, зачем и почему. и понять это должно быть х10 легче
Shub
это код очень понятный, при условии, что смысл фукнций в том, как они себя ведут. понятно, что именно он отбрасывает, понятно, что что-то мапится, понятно, что этому предшествует некая подготовка. а если мы перейдем на язык "это функтор" или "это - моноид/полугруппа", то вопрос только остается один - какова его семантика?
я еще раз хочу поинтересоваться, в чем суть функции (Choice.mapl (fun (e1,e2,_,_) -> (e1,e2))?
Shub
(я конечно мог бы объяснить тебе, что тут *на самом деле* происходит, но это все-таки дидактический пример)
Anonymous
я не знаю что такое Choice, поэтому отвечу так. "это нечто, скорее всего фукнтор, которые в данном случае работает, видимо, с туплом из 4 элементов и просто отрбрасывает пару ненужных параметров. сразу ясно, что делается это затем, чтобы "совместить" по типам эту штуку с чем-то другим. чтобы глубже помочь - надо знать что есть Choice. будь там List.map (т.е. друго функтор), ответ был бы абсолютно четким.
Shub
напомню, что на ревью ты это все видишь обрывочными кусками. тащить каждую ветку в ИДЕ для ревью ты просто забодаешься
Vladyslav
это ж просто неизвестное название функции. такого в ОО не может произойти?
Anonymous
лично для меня в этом и главная фишка "функциональщины" в ее лучшем проявлении - она позволяет мыслить достаточно абстрактно о коде. я знаю, что именно делает этот кусок при всем при том, что я не знаю, что именно делает этот кусок.
Shub
я не знаю что такое Choice, поэтому отвечу так. "это нечто, скорее всего фукнтор, которые в данном случае работает, видимо, с туплом из 4 элементов и просто отрбрасывает пару ненужных параметров. сразу ясно, что делается это затем, чтобы "совместить" по типам эту штуку с чем-то другим. чтобы глубже помочь - надо знать что есть Choice. будь там List.map (т.е. друго функтор), ответ был бы абсолютно четким.
во-первых, что ты за эфшарпист, если не знаешь про Choice? во-вторых, это неправильно
Hog
Anonymous
я не F#, я сочувствующий. так-то мне в F# сильно Тайп Классов не хватало
Shub
да я в общем-то сразу это понял, т.к. люди с практическим опытом даже со скамьи решили не вставать
Anonymous
и пока их туда не завезут, я не горю желанием писать конкретно на F#, хотя чтообы съебать с C# и на это соглашусь
Shub
их туда не завезут
Shub
короче, тут происходит вот что
Shub
это такая слабая попытка мегамозга применить функцию к двум сущностям одновременно. функция задумана как асинхронный эффект, который возвращает свои результаты завернутыми в Result<>
Shub
причем эта функция применяется ровно в одном месте
Shub
в том месте f возвращает четыре документа, из которых ПОЧЕМУ-ТО последние два не используются
Shub
они серенькие в том месте
Shub
рассматриваемая функция - плод отчаянной борьбы с type inference в течении пары дней, именно поэтому там Choice, а не Result
Shub
( как известно любому эфшарписту Result - это псевдоним типа для Choice)
Shub
mapl - это плод воспаленного хаскелем другого мегамозга, чтобы не дай бог кто-то не написал function | Ok a ->a | Error e -> raise e, потому что это же нЕфУнКцИоНаЛьНо
Shub
Dmitry
Ладно, кончайте.
Ситуация - мне тут ехать минут сорок или даже час, а все подкасты закончились. Подкиньте чего включить посмотреть-послушать в пути толкового
Shub
Алан Уотс “Путь воды”, читает автор, разумеется
Крылатый
Anonymous
если ты реально сосредоточен
Hog
Читает автор :)
Anonymous
хочешь сказать, больше 30 минут?
Shub
Shub
Shub
уотсовские лекции доступны в полном объеме кстати
Крылатый
Это очень надолго
Ну всего-то семь томов) А ваще первый том можно и начать. Очень хорошо.
Shub
Hog
Крылатый
Hog
Крылатый
Ты бы ещё Гиперион посоветовал (там только первая книга ок)
Shub
в подавляющем большинстве случаев я мог бы переписать проблемные куски, если б это не было таким тесносвязанным и хрупким… веществом
Shub
у нас нефальсифицируемые тесты например
Dmitry
Shub
Shub
еще хорошее “Табу на знание того, кто ты есть”. ну и лекции по философии даьнего востока, чисто повествовательные, очень классные
Shub
он был католическим священником, так что изучал предмет в высшей степени профессионально
Shub
чертов ключик
x
Hog
Я чо-то сделал не то 😩 и у меня почему-то пропало Option.defaultValue 😩
Vasily
Alexey
это скриншот сообщений об ошибках?
Hog
Умри
Василий :) Ты чо какой сегодня недобрый? :)
Alexey
велосипед ему дайте
Alexey
сразу подобреет
Vasily
Vasily
На самом деле устал просто
Vasily
Буду два дня лежать
Hog
из того, что делал - зареференсил FSharp.Collections.ParallelSeq
Hog