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

rhombus doesn't show all its exports and imports? #2

Open
greghendershott opened this issue Nov 20, 2023 · 0 comments
Open

rhombus doesn't show all its exports and imports? #2

greghendershott opened this issue Nov 20, 2023 · 0 comments

Comments

@greghendershott
Copy link
Owner

A recent discourse thread started with me asking about completion candidates for #lang rhombus (I had forgotten how my own racket-xp-mode gives a union of imports from all submodules, even configure-runtime. Doh. Fortunately pdb is already smarter in this regard.)

So that thread started off with me being a bit of a dunce. However, as I dug in more I realized that:

Knowing about all exports and imports matters for finding definitions and references -- basic provenance and relations (also completion candidates, but that's the least of it).


I thought the idea with Racket langs is that they expand to a documented grammar for fully-expanded programs, which includes information about exports and imports. That is the premise of this library.

Sure, I've had to submit a few PRs to racket, to preserve srcloc for identifiers, or to add syntax-properties to reveal the provenances of exported/imported identifiers composed from multiple other identifiers. But at least those composed identifiers were shown as exported/imported.

And sure, I realize that programs can smuggle in anything via dynamic-require, and things built upon it like lazy-require or rackunit's require/expose. But I figured that if programs do hacks like that, and it's invisible to pdb, that's probably understandable and acceptable to users.

What I didn't expect is a major #lang to be opaque, seemingly on purpose?

Maybe the status quo is only because rhombus is a prototype? Maybe the fully-expanded grammar will be updated and/or other mechanisms supplied?

Meanwhile I don't see how to proceed.

(In fact this feels pretty discouraging; pdb has been a long slog, and now it seems like the end isn't in sight after all.)

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