stanc3
stanc3 copied to clipboard
[FR] Bool data type?
Would it be tricky/breaking to add support for a bool/boolean data type? All of the conditional/comparison operators require a boolean value, so users currently have to re-evaluate the condition at each call or rely on the implicit conversion from an int type.
It could make for cleaner syntax to be able to do something like:
data {
real y_mean;
bool use_log;
}
parameters {
real y;
}
model {
if (use_log) {
y ~ lognormal(y_mean, 1);
} else {
y ~ normal(y_mean, 1);
}
}
bool would essentially be syntactic sugar for int <lower=0, upper=1>, so I don't think this would be a breaking change.
Well, I guess reserving the keyword "bool" would be, but we have a policy for that. true and false are already reserved.