Follow

@rf @ru
-XStrict - лучшее расширение ghc! Не забывайте включать во всех своих проектах!

· · xmpp_gate · 1 · 1 · 0

@L29Ah @rf @ru StrictData достаточно. Если везде бездумно отстреливать ленивость, то можно отстрелить себе ноги.

@dpwiz Почему? Восклицательные знаки гораздо гораздо чаще ставить нужно, чем тильды, а результаты забытия восклицательного знака обнаружить и устранить гораздо труднее, в то время как отстрел ног почти всегда виден сразу.
@ru @rf

@L29Ah @ru @rf Ты неправильно его держишь если их приходится ставить. По-хорошему они нужны раз в десять лет.

@dpwiz Они нужны всегда когда у тебя нетривиальный data flow, особенно на больших объёмах данных: без них у тебя быстро начинают накапливаться лишние санки во всяких смешных местах и забивать тебе оперативу.
@ru @rf

@L29Ah @ru @rf Скорее всего причина в другом (примитивы неправильные, рулы не отработали, инлайнер провафлил и подобное). Ковровый стрикт это симптоматическое лечение и только натягивает пружину граблей которые тебя в будещем ёбнут когда стрикта перестанет хватать.

@dpwiz Ладно, давай конкретно: вот этот модуль становится на 38% тормознее если убрать восклицательные знаки из кода (не убирая из data (который вообще просто охуителен)): github.com/l29ah/hyborg/blob/m
Проверять так, например: cabal run benchmark -- 'chunkify/default settings 1MB'
@ru @rf

@L29Ah @ru @rf Тут уже много карго-бангов. Если тебе вообще лень вникать и читать корку, то можно на один конкретный модуль влепить стрикт. Но по дефолту совать его в каждый новый проект это дурь.

@dpwiz Интерпретирую как: если не хочешь ебаться с чтением корок и сосать с производительностью по кд, ставь везде Strict: примеры где он помогает легкодоступны, примеры где он всё неожиданным образом всирает отсутствуют, даже Strict-хейтер согласен что он спасает от лишней возни.
@ru @rf

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.