Hello,
I want to write a function sample(d, n) where n is a number of samples and
d is a distribution from the package Distributions.
I would like to ensure that what is given as d in the function is indeed a
distribution, ideally I'd like to write something like
sample(d::Distribution, n::Int).
A normal distribution d = Normal(0.0, 1.0) is of type Distributions.Normal,
and a uniform distribution d = Uniform(0.0, 1.0) is of type
Distributions.Uniform.
So I don't think I have a way to specify the type of d inside the signature
of sample.
All that I know is that the type of these distributions are subtypes of
Sampleable.
So for now I'm stuck with:
function sample(d, n::Int)
assert(typeof(d) <: Sampleable)
...
end
But maybe there is another way to say that d should derive from a specific
type..? (Inside the function signature ideally.)
Thank you,