Skip to content

Conversation

@chrisrink10
Copy link
Member

@chrisrink10 chrisrink10 commented May 24, 2020

Add the reify* special form and the basilisp.core/reify macro for constructing reified objects. reify* allows callers to create objects of anonymous class types satisfying 0 or more Python interfaces (and Basilisp protocols when #460 merges). This was able to use most of the same code as the original deftype* implementation, which was convenient. It's worth noting that reify* does not currently support classmethods (since the constructor is auto-generated and only accepts one argument - meta - anyway) or staticmethods (since the generated type is not directly exposed to users). Methods and Python properties are supported, however.

Partially addresses #425

@chrisrink10 chrisrink10 added the wip PR is work-in-progress label May 24, 2020
@chrisrink10 chrisrink10 removed the wip PR is work-in-progress label May 26, 2020
@chrisrink10 chrisrink10 marked this pull request as ready for review May 26, 2020 12:49
@chrisrink10 chrisrink10 merged commit 5773d9c into master May 26, 2020
@chrisrink10 chrisrink10 deleted the feature/reify-form branch May 26, 2020 22:41
@chrisrink10 chrisrink10 mentioned this pull request May 26, 2020
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.

2 participants