Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLI issues #4

Closed
magv opened this issue Feb 18, 2016 · 5 comments
Closed

CLI issues #4

magv opened this issue Feb 18, 2016 · 5 comments

Comments

@magv
Copy link
Collaborator

magv commented Feb 18, 2016

Here are some of the issues with bin/delirium tool:

  1. There's no way to save the transformation matrix. We'll need two separate output options, one for each of the resulting matrices. By default we could print both into stdout. Or, print one into stdout and the other one into /dev/null. How about -m and -t options? Also, how do we call the m matrix in plain English?
  2. There's no way to set the name of the x variable. We could use -x option for this. As for the epsilon variable, we could read in the input matrix, check that is has no more than two variables in it, and let the other variable (whatever it is) be the epsilon. We could additionally use an explicit -e option for this, although I don't see the need.
  3. The tool depends on docopt-dispatch, which is not a part of Sage distribution. We've already dropped pytest for this reason; we'll need to do the same for docopt-dispatch.
  4. The default mode of operation (that is, without any commands) should be the full transformation (reduction, normalization, factorization). This will unfortunately mean that we'll need to rename reduce and normalize keywords into --reduce and --normalize.
  5. Do you want to keep the Maple parts for now? They are sort of confusing (what does a "polinomial in x [default: x]" signify?), and don't generally fit with the rest of the tool. I'd remove them.

Oleksandr, if you're OK with these changes, I can implement them.

@gituliar
Copy link
Owner

Right, that make sense. Though for the moment, please, keep docopt and Maple parts. As for the other changes feel free to implement them.

@magv
Copy link
Collaborator Author

magv commented Feb 18, 2016

Is there a point in keeping docopt_dispatch? I don't really need it to implement these changes.

@gituliar
Copy link
Owner

By default we could print both into stdout. Or, print one into stdout and the other one into /dev/null. How about -m and -t options?

Require -m and -t options to be rpovided explicitely, with no default output to sdout or other streams.

Also, how do we call the m matrix in plain English?

I never saw people use some particular term for this matrix. The term "the matrix m" is good enough for me, if you have no better ideas.

The default mode of operation (that is, without any commands) should be the full transformation (reduction, normalization, factorization).

I would prefer to stick to the current workflow with separate command for every (of three) operation that should be fine. This is supposed to be a research tool, so that users also could play with it by changing/tuning some options and parameters; let us ommit one-button-press-solves-everything approach.

Is there a point in keeping docopt_dispatch?

It is simple and I like it, so please leave it as it is now. Instead, please, dedicate your time and effort to solve real problems and not to rewrite existing packages.

@gituliar gituliar mentioned this issue Feb 18, 2016
@magv
Copy link
Collaborator Author

magv commented Feb 18, 2016

It is simple and I like it, so please leave it as it is now.

OK, let me put it another way: it is inconvenient for me to install docopt_dispatch, and it will be doubly inconvenient for our users to install it (just as it was with pytest). I can modify the CLI not to require it and use getopt instead. All you need to do is say "yes".

@magv
Copy link
Collaborator Author

magv commented Mar 12, 2016

Closing this due to 3f0677b.

@magv magv closed this as completed Mar 12, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants