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

Allow intermixing of Moore and vonNeumann neighborhoods #19

Open
dragoncoder047 opened this issue May 5, 2022 · 1 comment
Open

Allow intermixing of Moore and vonNeumann neighborhoods #19

dragoncoder047 opened this issue May 5, 2022 · 1 comment

Comments

@dragoncoder047
Copy link

...Previously while I was working on the Fusion rule that caused all the bugs and crashes in #18, I ended up with this error:

Parsing...
  Error in @TABLE, line 93:
      # NoTomeAtAll
      ^^^^^^^^^^^^^^^^^^^^^^^^^
  `neighborhood` directive cannot be reassigned

The Moore and von Neumann neighborhoods overlap, so couldn't Nutshell automatically allow Moore in some places and vN in others, and just fill in the corners on all the vN ones with any automatically when it expands it to the Moore neighborhood in the output rule file?

Also, the error message is wrong either way. It should be:

Parsing...
  Error in @TABLE, line 94:
      neighborhood: von Neumann
      ^^^^^^^^^^^^^^^^^^^^^^^^^
  `neighborhood` directive cannot be reassigned
dragoncoder047 added a commit to dragoncoder047/wiki that referenced this issue May 9, 2022
@supposedly
Copy link
Owner

supposedly commented May 10, 2022

I'm sorry, this is the exact thing that ended up getting me in over my head a couple years ago and causing me to quit working on Nutshell :(

If I'm not remembering wrong, I think I was able to implement neighborhood-switching by itself (as well as custom neighborhoods, and building symmetries up from transformations on arbitrary neighborhoods rather than hardcoding all of them) -- but I had to combine it with the symmetry-switching that's been implemented from the start in order for it to actually be usable within Nutshell, and something about that attempt landed me in a weird hole of everything-is-wrong that I just couldn't get out of. The ghost of all this is still there on the v0.6.0 branch, although it's not documented or anything.

I'm leaving this issue open, but I'll say up front that I'm not optimistic about returning to this in the near future, and I don't want you to hold your breath on it. I hope using AlternatingPermute or a custom symmetry type is tolerable in the meantime...?

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

No branches or pull requests

2 participants