JuliaPOMDP/POMDPs.jl

Improvements to requirements

Open

#124 opened on Dec 31, 2016

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Julia (759 stars) (106 forks)batch import
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_require block, 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 @req is 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 @req and @subreq - do they need to be different? (meidum)

Contributor guide