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

Slight confusions in documentation #386

Open
mikeshulman opened this issue Aug 18, 2018 · 2 comments
Open

Slight confusions in documentation #386

mikeshulman opened this issue Aug 18, 2018 · 2 comments

Comments

@mikeshulman
Copy link
Contributor

I know it's hard to keep documentation up to date with a changing system, but I just thought I would help by pointing out a few issues with http://www.andromeda-prover.org/meta-language.html:

  1. The section on dynamic variables says "The current value is accessed with simply x" but in fact it seems that you have to write current x.
  2. The section on operations correctly says that an operation is declared with its input and output types, but the example of the Hole operation instead declares it by giving a single number (its input arity?).
  3. In the description of the rule beta_step, the order of arguments in the displayed syntax differs from the order of the bullet points below it.
  4. The sections on matching under binders, mutable references, and declarations look as though they are supposed to contain bullet lists, but maybe some markdown syntax didn't get correctly parsed into html.
  5. The section on lists says "lists are heterogeneous in the sense that they may contain values of different shapes" but that does not seem to be true any more.
@mikeshulman
Copy link
Contributor Author

Two more:

  1. It appears that hypotheses is treated like a dynamic variable, so that you have to write current hypotheses to get the actual list of hypotheses.
  2. Even once the example Hole operation is fixed by declaring it as Hole : judgment and having hole_filler call current hypotheses rather than hypotheses, it needs a further fix because, as stated in the section on operation cases, the form | op p₁ ... pᵢ : p => c matches p against Some t when invoked in checking mode at type t, not t itself. I think the simplest thing to do is just declare it to handle Hole : Some ?t instead of Hole : ?t.

@mikeshulman
Copy link
Contributor Author

  1. I cannot figure out how to access the "external" functions. The syntax described in the documentation certainly doesn't work (except for the special case print X).

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

1 participant