Another option is to do both! You could write methods in your main Controls module done the Julian way with appropriate use of method dispatch. Then, you could add a Controls.Compat submodule where you define methods that follow the Matlab api. On Jan 12, 2015 2:09 PM, "James Crist" <crist...@umn.edu> wrote:
> I'm currently writing a control theory package for Julia. The MATLAB > control theory toolbox has been around forever, and is *the standard* > grammar for the field. Almost all control theory packages in other > languages just replicate the same set of functions, with the same names. > The function names are so hardcoded into me, that I'm reluctant to change > them. > > That said, several of them conflict with Julia base function names. For > example: > > `zero(sys::LTISystem)` would compute the zeros of the system in MATLAB, > but in Julia this should create the "zero-valued" system > > `step(sys::LTISystem)` computes the step-response, but in julia it gives > the step for a range > > There are others as well. I see two options here: > > 1.) I begrudgingly rename them, and attempt to retrain my muscle-memory > when writing code :/ > 2.) Some functions don't do what they do in julia base for these types > > #1 probably is for the best, but I'm wondering what the community response > is to this? I come from a heavy Python background, and without namespaces, > I'm not sure how to handle function name-clashing best. >