paradox icon indicating copy to clipboard operation
paradox copied to clipboard

Add "Complex-Default" option to available default values

Open sebffischer opened this issue 1 year ago • 2 comments

Some of the default values in parameter sets can currently not be expressed because they contain expressions. E.g. a parameter seed might be an integer() but the default is sample.int(100). It is currently not possible to specify the default.

Currently people address this differently when implementing learners. A common solution to the above problem is then to say that the parameter has no default, which is not correct. We came to the agreement that we want to specify this using something like a Cmplx_Default token that is also visible in the rd_info output that is shown e.g. in the learner's help page. This then communicates to the user that one has to look in the help page of the upstream function to learn about the parameter's default behaviour.

sebffischer avatar Oct 17 '23 06:10 sebffischer

The information encoded here would be redundand, since the absence of a "required" tag already indicates that some kind of default behaviour happens. The difference between "no default (user has to enter something himfself)" and "no default that we want to specify here" is made by having the NO_DEF token with the "repuired" tag present or absent, respectively. If we want to have different tokens for these cases, we could consider dropping the "required" tag.

mb706 avatar Oct 17 '23 13:10 mb706

Ah sorry, I might have misremembered some details. So we decided to only change the rd_info.ParamSet function to print this more explicitly? (should have written this down immediately)

sebffischer avatar Oct 17 '23 15:10 sebffischer