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

Add INamed interface for Keywords and Symbols #884

Closed
chrisrink10 opened this issue Feb 21, 2024 · 0 comments · Fixed by #885
Closed

Add INamed interface for Keywords and Symbols #884

chrisrink10 opened this issue Feb 21, 2024 · 0 comments · Fixed by #885
Assignees
Labels
issue-type:enhancement New feature or request lang Issue pertaining to Basilisp language modules

Comments

@chrisrink10
Copy link
Member

To support #882 without circular dependencies, we will need an INamed interface that can be applied to the Keyword and Symbol classes.

@chrisrink10 chrisrink10 added issue-type:enhancement New feature or request lang Issue pertaining to Basilisp language modules labels Feb 21, 2024
@chrisrink10 chrisrink10 added this to the Release v0.1.0 milestone Feb 21, 2024
@chrisrink10 chrisrink10 self-assigned this Feb 21, 2024
chrisrink10 added a commit that referenced this issue Feb 21, 2024
This PR introduces the `INamed` interface (similar to Clojure's `Named`)
which is applied to the Keyword and Symbol classes. Having an interface
for this allows us to perform type checking for relevant features (in
particular, the existence of a name or namespace) without needing the
import either class directly (thus avoiding circular dependencies).

I also added type annotations for the Lisp representation keyword
arguments (which is a useful addition ahead of #882 merging).

Fixes #884

Co-authored-by: Christopher Rink <christopher@ChristophersMBP.cjlocal>
chrisrink10 added a commit that referenced this issue Feb 21, 2024
Additional fix for #884

Co-authored-by: Christopher Rink <christopher@ChristophersMBP.cjlocal>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
issue-type:enhancement New feature or request lang Issue pertaining to Basilisp language modules
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant