Vladislav
Dr. Friedrich
Так решарпер же вне процесса
А почему мне об этом не доложили?
Dr. Friedrich
Кажись, у тебя какая-то секретная бета-версия решарпера
Dr. Friedrich
Секретная даже от команды
Vladislav
А, ну в 18 году вы только писали что пытаетесь
Vladislav
Так что да
Андрей
да, в райдере только?
Roman
во всех учебниках, оглавление идёт в начале - чтобы сразу можно было понять, о чём книга (в художественных - в конце, чтобы не было спойлеров). У большинства книг в начале есть аннотация или предисловие с описанием содержимого.
Roman
а кто вам рассказал что фп или фшарп это описывать строительство дома с "пойти за лопатой" ? как раз это императивный стиль сишарпа
Roman
Порядок объявления к ФП отношения не имеет, если что
Mark
поэтому так и получается
Сергей
не спорю, что c# уже многое взял из фп и, в частности, из f#. но сейчас такая ситуация: c# из коробки позволяет СНАЧАЛА описать общее решение задаче, а детали отодвинуть ниже, чтобы не мешали понимаю. а в F# для этого надо использовать специальный синтаксис, обычно применяемый для сложных рекурсий. причем использования этого синтаксиса в других целях считается чем-то плохим))
Roman
да ебаный стыд
Roman
вы ж по кругу ходите
Roman
даже новых аргументов не прибавляется, ну. @SergeyASviridov уже все для себя решил, и пытаться переубедить его дальше нет смысла
Roman
так что оставьте свои тщетные попытки и давайте двинемся дальше, ради христа
Artemy
Вероятно, надо компилятор переписывать
Mikhαil
вы ж по кругу ходите
Религиозные войны они такие
Roman
да реально уже на религиозную войну похоже. Попиздеть ради попиздеть
Фил Ранжин
Ну да, ведь пиздеть нужно только для пользы
Фил Ранжин
а то вдруг зря 10 минут потратишь
Сергей
так, здесь я узнал, что для решения моей задачи можно комбинировать объявления с помощью and или делать весь модуль рекурсивным. НО также мне сказали, что это плохо))) т.е. в f# описание решение по принципу "сначала главное, а потом - частности" - это плохо? Спрошу по-другому: почему в F# это плохо?
Фил Ранжин
и всё, не вернуть потом никак
Igor
а чо, было бы прикольно: Console.WriteLine(foo); var foo = "bar";
Vasily
Чувак
Фил Ранжин
а чо, было бы прикольно: Console.WriteLine(foo); var foo = "bar";
ну в сишарпе в каком то смысле так и есть
Фил Ранжин
метод использовал, а ниже объявил
Vasily
мир не ограничивается способами, принятыми в c#
Igor
За этим в хаскель
да я пошутил))
Roman
так, здесь я узнал, что для решения моей задачи можно комбинировать объявления с помощью and или делать весь модуль рекурсивным. НО также мне сказали, что это плохо))) т.е. в f# описание решение по принципу "сначала главное, а потом - частности" - это плохо? Спрошу по-другому: почему в F# это плохо?
Это не плохо. Неконтролируемые циклические зависимости — это плохо. Чтобы этого избежать, ввели последовательную компиляцию. Ее можно делать либо сверху вниз, либо снизу вверх. Пиздеть о том, как было делать лучше, смысла нет — все уже сделано, и переделывать не будут. Поэтому либо пишем, как есть, либо все обмазываем рекурсивными модулями, либо выбираем другой язык
Ayrat
За этим в хаскель
ну нет. Там всё равно надо писать гарды
Roman
во, уж лучше за хаскель попиздеть
Ayrat
let abc bcd = someFun bcf where someFun …
Doge
ну нет. Там всё равно надо писать гарды
речь про то, что порядок исполнения в ленивом языке определяется зависимостями между данными, а не порядком определения
Ayrat
Там же есть`where`
ну это он и есть
Artemy
Ну да, это я чуток опоздал
Ayrat
вот прим так нисхуя в хаскеле не написать чертовщину
Сергей
а чо, было бы прикольно: Console.WriteLine(foo); var foo = "bar";
последняя строчка - это объявление данных, а не объявление функции. алгоритм важнее данных. и его стоит оформлять от главного к мелочам пример: void BigProblem() { // в этом суть SmallTask1(); SmallTask2(); // а тут частности void SmallTask1() {} void SmallTask2() {} }
Artemy
А гарды в Хаскелле — это ж сахар для паттерн-матчинга, не?
Mark
я понял его
Mark
короче проблема в том что надо сначала написать код чтобы в мейне его использовать к примеру
Ayrat
А гарды в Хаскелле — это ж сахар для паттерн-матчинга, не?
я не настолько спец, но там можно матчить
Mark
а надо сначала написать использование кода а не сам код
Vasily
Особенно это охуенно в проектах на пару миллионов строк
Roman
последняя строчка - это объявление данных, а не объявление функции. алгоритм важнее данных. и его стоит оформлять от главного к мелочам пример: void BigProblem() { // в этом суть SmallTask1(); SmallTask2(); // а тут частности void SmallTask1() {} void SmallTask2() {} }
и потом, неужели блять так трудно посмотреть в конец файла, чтобы увидеть эту мастер функцию? Неужели блять это труднее, чем пиздеть 2 часа про то, как удобно СНАЧАЛА большую функцию А ПОТОМ маленькую, и хоть блять трава не расти
Ayrat
хотя бы сразу понятно куда смотреть в этих 30к строках
Ayrat
а не - “ебаный врот что тут происходит”
Vasily
Да обычный гребец
Ayrat
Чувствую щас будет жаркоЪ
Roman
хотя бы сразу понятно куда смотреть в этих 30к строках
но ведь СНАЧАЛА надо главную проблему А ПОТОМ неглавную!!!1111 че-то у меня бомбит
Vasily
Человек так привык
Vasily
Чо вы начинаете
Ayrat
Чо вы начинаете
не, ну вот чо ты начинаешь сразу весло человеку примерять!!1
Vasily
Вспоминается серия саус парка про моноцикл
Ayrat
о да
Сергей
вот да. Это было бы удобно даже в gc.cpp
на плюсах объявления был и в одном файле, а реализация - другом. причём реализация - в любом порядке.
Ayrat
вот ещё, 2минутный ролик из охуенного сериала https://www.youtube.com/watch?v=7bmyGI6qQwc
Artemy
на плюсах объявления был и в одном файле, а реализация - другом. причём реализация - в любом порядке.
В Фшарпе тоже есть возможность специальные файлы чисто с сигнатурами объявлять
Vladislav
очень удобно
Ayrat
выглядит как хороший сериал
сериал космический.
Ayrat
но юмор на любителя странных шуток
Roman
штош, придется смотреть
Ayrat
я вот - любитель
Roman
но юмор на любителя странных шуток
ну мне силиконовая долина зашла очень. И ролик этот понравился