Size: a a a

2021 February 21

g

gsomix in F# Chat
IdiocyAcceptance
И я не нашёл способа как сделать такое в эфшурпе, мб кто знает?
Никак.
источник

I

IdiocyAcceptance in F# Chat
gsomix
Что кешировал?
Функцию-пустышку
источник

I

IdiocyAcceptance in F# Chat
Чтобы не создавалась каждый раз заново
источник

g

gsomix in F# Chat
Ага. Тоже про это подумал.
источник

I

IdiocyAcceptance in F# Chat
Но там всё равно аллокации есть, к сожалению
источник

I

IdiocyAcceptance in F# Chat
Полностью не обойтись
источник
2021 February 22

IB

Ivan Balanar in F# Chat
Хм. написал модуль. Создал новый файл с новыми функциями. Попробовал их использовать в старом модуле - не найдено. Clean не помогает, рекомпиляция не помогает. Помогло только ручное переставление нового файла перед старым в Compile Include fsproj проекта. Это обычное дело, или это глюк или надо обновиться?
источник

SN

Shub Niggurath in F# Chat
Ivan Balanar
Хм. написал модуль. Создал новый файл с новыми функциями. Попробовал их использовать в старом модуле - не найдено. Clean не помогает, рекомпиляция не помогает. Помогло только ручное переставление нового файла перед старым в Compile Include fsproj проекта. Это обычное дело, или это глюк или надо обновиться?
Порядок компиляции определяется в файле проекта
источник

AH

Ayrat Hudaygulov in F# Chat
Ivan Balanar
Хм. написал модуль. Создал новый файл с новыми функциями. Попробовал их использовать в старом модуле - не найдено. Clean не помогает, рекомпиляция не помогает. Помогло только ручное переставление нового файла перед старым в Compile Include fsproj проекта. Это обычное дело, или это глюк или надо обновиться?
Фаршик компилирует файлы по порядку, поэтому в первом файле виден только первый, во втором первый и второй и т.д.
В пределах файла это тоже работает.

По итогу ты должен писать программы чтобы они выглядели примерно так

Утилс.фс
Моделс.фс
Домен.фс
Инфраструктура.фс
КомпозишнРут.фс
ЕнтриПоинт.фс
источник

IB

Ivan Balanar in F# Chat
Ayrat Hudaygulov
Фаршик компилирует файлы по порядку, поэтому в первом файле виден только первый, во втором первый и второй и т.д.
В пределах файла это тоже работает.

По итогу ты должен писать программы чтобы они выглядели примерно так

Утилс.фс
Моделс.фс
Домен.фс
Инфраструктура.фс
КомпозишнРут.фс
ЕнтриПоинт.фс
да, спасибо вам обоим , но, честно говоря, такой архаики я не ожидал.
источник

AH

Ayrat Hudaygulov in F# Chat
Ivan Balanar
да, спасибо вам обоим , но, честно говоря, такой архаики я не ожидал.
Непривычно, первый месяц я понять не мог нахуя, а потом как понял...
источник

A

Alexandr in F# Chat
Ivan Balanar
да, спасибо вам обоим , но, честно говоря, такой архаики я не ожидал.
Почитай скота влашина про dependency cycles. Он заморочился и исследовал множество проектов на c# и f# на предмет циклических зависимостей. В результате открывается другая сторона этой "архаики", которая оказывается большим преимуществом. По этой теме у него три статьи. Вот ссылка на первую, внизу неё ссылки на следующие. https://fsharpforfunandprofit.com/posts/cyclic-dependencies/
источник

g

gsomix in F# Chat
@en3tho А как кешировал?
источник

I

IdiocyAcceptance in F# Chat
Уже непосредственно в коде T, через аналог ??= из сишурпа
источник

g

gsomix in F# Chat
Еще бы я знал сишурп. 🙂
источник

I

IdiocyAcceptance in F# Chat
Заранее по идее сложно создать, ибо по факту не знаешь что создавать
источник

I

IdiocyAcceptance in F# Chat
gsomix
Еще бы я знал сишурп. 🙂
А, ну это оператор "если слева нуль, то назначь туда значение справа"
источник

g

gsomix in F# Chat
Я придумал хохму, чтобы в итоговом IL избавиться от промежуточных переменных. Вместо Unchecked.defaultof<'T> можно использовать:

let inline nothing<'T> = (# "" : 'T #)
источник

I

IdiocyAcceptance in F# Chat
Фига!
источник

I

IdiocyAcceptance in F# Chat
Надо потестировать
источник