help wantedlinter
Description
If the requirements system turns out to be useful, the following improvements could be made
- Smartly and optionally print module names (easy)
- Allow parameters throughout (I think they will break some functions now) (medium)
- Print requirements even if there is an error in get_requirements. Currently, if there is an error in a
@POMDP_requireblock, it will not show any@reqs that come after the error. A better way to fail would be to show the requirement (but possibly without all the type information). It is not clear how to handle cases when a@reqis in an if statement or has some other conditionality (difficult) - Use static analysis to determine the requirements instead of specifying them manually (difficult)
- One should also be able to specify requirements with a function call and have the types inferred, e.g
@POMDP_require f(a::A) begin
@req f(a)
end
should work in addition to
@POMDP_require f(a::A) begin
@req f(::typeof(a))
end
which already works. (easy)
- Might be able to unify
@reqand@subreq- do they need to be different? (meidum)