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

Import external packages under symbol #82

Open
light-matters opened this issue Jul 20, 2024 · 2 comments
Open

Import external packages under symbol #82

light-matters opened this issue Jul 20, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@light-matters
Copy link
Contributor

light-matters commented Jul 20, 2024

Currently, importing an external Wolfram package works but the new symbols are not, by nature, accessible from wolframite.wolfram (and so have to be executed using the deferred forms).

We could provide a library method for adding external packages seamlessly.

The two main options would be to either

  1. use clj-intern (as I used previously on the realatoms project).
  2. somehow update wolframite.wolfram or create a similar namespace file (that is accessible at runtime).
@light-matters light-matters added the enhancement New feature or request label Jul 20, 2024
@holyjak
Copy link
Member

holyjak commented Jul 24, 2024

wolframite.impl.wolfram-syms.write-ns/write-ns! could be perhaps hacked for this purpose but it may be cleaner with a dedicated fn. A question is whether users would want one ns file per package or a single one. Given namespacing needs, the former may be preferable?

Perhaps there could be a variant of load-package! which also writes (and loads) this ns...

@light-matters
Copy link
Contributor Author

A dedicated function would probably be best and I think 1 per package would be the cleanest, though Wolfram is somewhat weird about namespaces. A variant of load-package! would be great; manually writing lots of namespaces would, of course, be a pain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants