By and large, whichever style reads best to you and the people who write code with you is correct.
Two thoughts that might be worth considering: As a functional language, PureScript tends to encourage nesting a lot of function calls; the $ style saves you from having to stack close parentheses at the end of an expression, which can save you (a tiny amount, but multiplied over many occurrences, of) time and lead to cleaner diffs when adding applications to the front. On the other hand, there are occasionally type inference issues caused or exacerbated by using $, and for that reason using parentheses exclusively as a beginner may help you learn the language. Experienced PureScript developers may favor one or the other style or use a mix, for these or for other reasons; none of these choices are generally considered unidiomatic.
In Haskell I could also write fromMaybe [] . tail $ arr, but I’m not writing this way in PS due to verbose <<< category composition. But if you can eta reduce, fromMaybe [] <<< tail is also ok
Unicode, single chars, and math symbols to the rescue!
infixr 9 compose as ∘
foo = fromMaybe [] ∘ tail
-- or just
bar = fold ∘ tail
But I agree with the sibling comment that whatever subjectively reads better is the actual practice. It seems most libraries don’t like the idea of vehemently sticking to one or the other and that’s probably for the best.
Do note that while PureScript does support Unicode, a feature I’m grateful for, it is by no means neither necessary nor recommended to create such operators unless they spark joy in you personally. To some it looks nice and others it matches closer to the papers they are reading. Non-Unicoders say it scares users unfamiliar, is harder to type (though ask some people how easy $ is to type), yak-shaves, and goes from 1 way to use an operator to 2 (though all infixes require a named variation as well so technically 3 ways).