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

A new cpp implementation #641

Open
wants to merge 21 commits into
base: master
Choose a base branch
from
Open

A new cpp implementation #641

wants to merge 21 commits into from

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.

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