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

Navigation? #154

Open
conal opened this issue Jan 4, 2016 · 8 comments
Open

Navigation? #154

conal opened this issue Jan 4, 2016 · 8 comments

Comments

@conal
Copy link
Contributor

conal commented Jan 4, 2016

Does navigation work in the latest HERMIT? The commands down, left, and right aren't recognized. I found navigate, but when I use the down, left, or right keys in navigation mode, I get error messages like the following.

User error, unrecognized HERMIT command: "down"

Moreover, I like to run Hermit (and most things I do) inside Emacs, where those keys don't make it to the HERMIT process.

@andygill
Copy link
Member

andygill commented Jan 4, 2016

I believe that they are replaced by named commands, specific to the node at hand. One thing I will be working on as a matter of priority is documenting things (like this). I'll file a ticket about documentation.

@conal
Copy link
Contributor Author

conal commented Jan 4, 2016

Great. Thanks. Meanwhile, I'm perusing the results of help Navigation.

@ecaustin
Copy link
Contributor

ecaustin commented Jan 4, 2016

I've been out of the loop for a bit, but last I recall the only navigation commands that we still supported were up and top.

I believe even those were under discussion for removal, or at least reimplementation.

@xich
Copy link
Member

xich commented Jan 4, 2016

Yep, help Navigation should list things.

The directions have all been replaced by "crumbs". A crumb is a pair of parent and child (app-fun is the crumb which moves from an application node to it's function child. app-arg is the crumb that moves from application node to it's argument child.) A path is a list of crumbs. You can type in paths with Haskell list syntax. For instance, [lam-body, app-fun] should move you from (\y -> f y) to f.

There are other more powerful navigation commands like lams-body which just repeats lam-body until failure. Also binding-of, rhs-of, occurrence-of, and top.

@xich
Copy link
Member

xich commented Jan 4, 2016

(The justification for crumbs is in section 4.2.2 of my dissertation.)

@conal
Copy link
Contributor Author

conal commented Jan 4, 2016

Thanks. I just grabbed a copy.

On Sun, Jan 3, 2016 at 9:16 PM, Andrew Farmer [email protected]
wrote:

(The justification for crumbs is in section 4.2.2 of my dissertation.)


Reply to this email directly or view it on GitHub
#154 (comment).

@conal
Copy link
Contributor Author

conal commented Jan 4, 2016

Is the "navigation" command/mode obsolete?

On Sun, Jan 3, 2016 at 9:13 PM, Evan Austin [email protected]
wrote:

I've been out of the loop for a bit, but last I recall the only navigation
commands that we still supported were up and top.

I believe even those were under discussion for removal, or at least
reimplementation.


Reply to this email directly or view it on GitHub
#154 (comment).

@conal
Copy link
Contributor Author

conal commented Jan 4, 2016

Nice! Thanks for the tips.

On Sun, Jan 3, 2016 at 9:15 PM, Andrew Farmer [email protected]
wrote:

Yep, help Navigation should list things.

The directions have all been replaced by "crumbs". A crumb is a pair of
parent and child (app-fun is the crumb which moves from an application
node to it's function child. app-arg is the crumb that moves from
application node to it's argument child.) A path is a list of crumbs. You
can type in paths with Haskell list syntax. For instance, [lam-body,
app-fun] should move you from (\y -> f y) to f.

There are other more powerful navigation commands like lams-body which
just repeats lam-body until failure. Also 'binding-of', rhs-of,
occurrence-of, and top.


Reply to this email directly or view it on GitHub
#154 (comment).

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

4 participants