While truncating parameters is discouraged, the <lower=0>
isn’t a truncation, it just means that it samples a transformation of the parameters that does not allow the sampled values to be smaller than zero. See this section of the manual for more info: https://mc-stan.org/docs/2_24/reference-manual/lower-bound-transform-section.html
Truncations are implemented using the T[,]
syntax, like so:
y ~ normal(mu, sigma) T[0,];
But as you know, are discouraged