Skip to content

Conversation

mitch-kyle
Copy link
Contributor

@mitch-kyle mitch-kyle commented Aug 11, 2024

  • Fixes Can't require child namespaces #957
  • Add namespace suffix for Basilisp modules. currently it's basilisp_namespace but it's not set in stone. This allows parent namespaces to require descendant namespaces.
  • Create a separate namespace for __init__.lpy files that relates to the true module name.
  • Modules named the same as the namespace suffix are disallowed

Comment on lines +85 to +91
# Modules for a namespace are given this suffix. it will be used for
# calling namespaces as python modules
NS_MODULE_SUFFIX = ".basilisp_namespace"

# Namespaces given to package modules e.g: `__init__.lpy`
PACKAGE_NS_SUFFIX = ".--basilisp-package--"

Copy link
Contributor Author

@mitch-kyle mitch-kyle Aug 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These values can be whatever. PACKAGE_NS_SUFFIX doesn't matter as much because I don't forsee much use in requiring package namespaces.

NS_MODULE_SUFFIX affects how modules are referred to from python. here are some ideas

import basilisp.core.blns as basilisp

import basilisp.core.basilisp_ns as basilisp

import basilisp.core.basilisp_namespace as basilisp

import basilisp.core.__ns__ as basilisp

import basilisp.core._ns as basilisp

import basilisp.core.basilisp_namespace as basilisp

import basilisp.core.basilisp_module as basilisp

import basilisp.core.namespace_module as basilisp

import basilisp.core._namespace as basilisp

import basilisp.core.lpy as basilisp

import basilisp.core._lpy as basilisp

import basilisp.core.lpyc as basilisp

import basilisp.core._lpyc as basilisp

import basilisp.core.basilisp_compiled as basilisp

import basilisp.core._compiled as basilisp

import basilisp.core.basilisp_generated as basilisp

import basilisp.core._generated as basilisp

import basilisp.core.__basilisp__ as basilisp

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

Successfully merging this pull request may close these issues.

Can't require child namespaces

1 participant