Last active
January 16, 2026 09:50
-
-
Save sogaiu/58a86e29e584d0f24397b19e0be6eb61 to your computer and use it in GitHub Desktop.
veqq naming and import response fragments
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| i do also happen to think that there are conditions under which english (/ human language) name being changed would be better for reasons i mentioned before, but this is less of an issue from the perspective of api breakage / use in codebases. | |
| i think not changing english names can lead to a kind of confusion that i think it would be nice to avoid (cf. firefox situation) in communication as well as being potentially misleading. | |
| searching for things later can also become more complicated by not changing names because one can end up with more stuff to sift through. | |
| --- | |
| to clarify a bit of why i don't want to talk in terms of `import` so much is at least partly because it has complexities that make discussion and thought more cumbersome. listed at [this page](https://janet-lang.org/docs/modules.html) are relative imports, working directory imports, @-prefixed imports, and imports can be customzied a fair bit as well. | |
| it is just much more complex to talk and think accurately at that level. | |
| i think syspath is more straight-forward and simpler to discuss and reason about -- not to mention that it's something that is unlikely to change in major ways any time soon. | |
| --- | |
| people have things installed on their systems (in various syspaths) over which we have no direct control so for janet to keep working properly for them the syspath stuff is constrained wrt what kinds of changes can work [1]. | |
| --- | |
| [1] syspath is one of the things bakpakin kept mostly the same between how jpm and janet-pm work with things (really the `bundle/*` parts of janet itself). | |
| fwiw, he did make `bin` and `bundle` subdirectories of syspath "special" (no one should use these for "library" code installation destinations) when he added `bundle/*` bits to `boot.janet`, thereby "hijacking" those directories for "internal use", but this seems to have worked out so far. i would have preferred there being some kind of prefix (he did this for jpm with `.cache` and `.manifests`) but this is what we have. | |
| as noted elsewhere, you can still do `(import bin/something)` if `something.janet` lives under `<syspath>/bin` (this can be arrange for via adding a binscript), but i'm not sure if that was intended. so it seems `bin` and `bundle` are a couple of exceptions to the "rule" that two different packages can't install things into the same "prefix" (read "top-level subdirectory of syspath"). | |
| it is possible someone had a legacy bundle that installed "library code" into `bin` or `bundle` but i haven't come across it. it doesn't appear to be a common thing afaict. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment