Open alexhroom opened 1 year ago
As a side note, if we are working towards breaking changes like this, @drvinceknight I recommend the repo adds a 5.0.0_dev
branch to push 5.0.0 changes to so that PRs etc. towards 5.0.0 can be made
I recommend the repo adds a
5.0.0_dev
branch to push 5.0.0 changes to so that PRs etc. towards 5.0.0 can be made
Good idea. Could just call it 5.0.0
which would serve the same purpose (don't actually care what we call it).
Have created 5.0.0
(we can easily change the name).
on the part of the discussion regarding importing 'generic' strategies into specific game namespaces: I've managed to write a way of conditionally importing classes from a shared 'generic' library file based on features of said classes. A minimal working example is here!
e.g. with this, it's possible for the initialisation of, say, axelrod.strategies.ipd
to get the set of generic strategies and import the ones with strategy.assumptions_satisfy(ipd_characteristics)
in the axelrod.strategies.ipd
namespace with whatever modifications; so axelrod.strategies.generic.TitForTat
would tit for tat between {0, 1} whereas axelrod.strategies.ipd.TitForTat
would 'borrow' the generic strategy but modify it to produce {C, D}!
Moving some discussion from #1418. This issue is also related to #1414.
Essentially, as the library is opened up to non-IPD games, the flat
axl.
namespace for strategies has become unfit for purpose. It should be restructured into a more sorted system (e.g.axl.strategies.ipd
,axl.strategies.rps
,axl.strategies.generic
)marcharper:
drvinceknight:
alexhroom:
drvinceknight:
alexhroom: