Skip to content

Conversation

@yang-le
Copy link

@yang-le yang-le commented Jul 13, 2023

Hi, I made a new cpp implementation, hope you all like it. If you have any concern, feel free to ping me.

Copy link
Owner

@kanaka kanaka left a comment

Choose a reason for hiding this comment

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

Hello @yang-le sorry for the very slow reply (I've been unable to work on this project for the past couple of years but I'm am now able to again). If you're still interested in getting this merged upstream I would ask that you do the following:

  • Is this implementation unique or interesting in some way compared to the existing C++ (cpp) implementation. If it is, then I'm happy to consider merging it. If not, I can add a link to your repo to the "Other Implementations" section of the top-level README.
  • Rebase the code onto the current HEAD
  • Rename the directory to cpp.2 to clearly indicate that this is another sibling implementation.
  • The recommended process has changed slightly: the eval_ast is no longer seperate from eval and macroexpand is not longer a standalone function. It would be good if you could update to follow the new structure.
  • Add your implementation to IMPLS.yml and make sure that the CI tests all pass for your implementation.

@yang-le
Copy link
Author

yang-le commented Aug 9, 2024

Hi @kanaka, I updated my fork to sync with the HEAD. Also renamed cc to cpp.2.
My implementation used a "modern" style of C++, C++17 to be exact.
I don't know why this introduced 135 commits, from my side there are only 42 commits. Do I need to make a new pull request in case you are interested in these commits?

@kanaka
Copy link
Owner

kanaka commented Aug 9, 2024

@yang-le Maybe you did a merge rather than a rebase? You should be able to rebase again to remove the commits that it pulled in that aren't related to your change.

Copy link
Owner

@kanaka kanaka left a comment

Choose a reason for hiding this comment

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

@yang-le Looks really close. One of the things I mentioned a few days ago is "The recommended process has changed slightly: the eval_ast is no longer seperate from eval and macroexpand is no longer a standalone function. It would be good if you could update to follow the new structure." Could you consider that before merging this? Note that the macroexpand changes in particular result in significant simplification to each step.

Also, the commit history is a bit messy. Can you rebase and combine some of the fixup commits (like "there you go", WIP, etc). And can you please prefix all the commit messages with "cpp.2:" so that it's easier to look at the history and see what these changes are related to?

Update the README as part of your PR: Add your implementation to the table, add description/usage info to the implementation description section, and update the implementation counts.

Have you tried self-hosted mode and confirm that it passes all the tests?

If you can address those four things, then I'll consider this ready to merge. Thanks!

@yang-le
Copy link
Author

yang-le commented Aug 13, 2024

@kanaka I'm afraid that I don't have the time to improve this PR further. Please feel free to close this PR. However, I'll be happy if someone would fork my code and take that step. Thanks.

@kanaka kanaka added the new_implementation A ticket that is proposing or requesting an implementation for a new language/platform label Aug 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new_implementation A ticket that is proposing or requesting an implementation for a new language/platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants