-
-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Description
I have a call of length xs
in the middle of a function, which Stan is unhappy with because of STAN-0103: "Usage of the length
function that hangs on infinite lists".
How am I supposed to act on this? Stan offers two suggestions:
- "Don't use
length
if you expect your function to work with infinite lists" - nope, I bloody well need the length of the list. - "Use the
slist
library for fast and safe functions on infinite lists" - but it does not seem thatSlist.size (Slist.slist xs)
is any safer thanlength xs
in case ifxs
happens to be infinite! Am I supposed to make a non-local refactoring, probably migrate the entire module toSlist
? This is likely to be unfeasible or prohibitively expensive in the majority of real-world cases.
I personally do not think that STAN-0103 is worth to complain about, but that's fine, we can agree to disagree. I don't mind opinionated diagnostics, I do mind unactionable ones: if a policy mandates to maintain a clean Stan report, it's virtually impossible to do so.
tchoutri, t4ccer and elland
Metadata
Metadata
Assignees
Labels
No labels