Skip to content

presentation: attempt to resolve #391#395

Open
james-d-mitchell wants to merge 4 commits intolibsemigroups:mainfrom
james-d-mitchell:presentation-rules
Open

presentation: attempt to resolve #391#395
james-d-mitchell wants to merge 4 commits intolibsemigroups:mainfrom
james-d-mitchell:presentation-rules

Conversation

@james-d-mitchell
Copy link
Member

This resolves #391 by making std::vector<word_type> and std::vector<std::string> opaque types within present.cpp at least. The idea is that instead of such vectors being auto converted to lists, they are their own types.

PROS: p.rules return a reference, (at least on my machine) the tests pass, and it's possible to do p.rules[0] = something and this actually works as expected.

CONS: p.rules appears to be a list, but isn't, and so some things you might want to do with a list don't work (like index for example). This is a fairly large change.

I think the PROS out weigh the CONS, but happy to hear your opinion too @Joseph-Edwards

@james-d-mitchell
Copy link
Member Author

I can't see why the MacOS CI jobs are failing, the logs don't provide enough info. It seems that libsemigroups_pybind11 builds okay, but then isn't loadable in python. I'm not going to investigate this further at this point.

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.

Set item for Presentation.rules does nothing

1 participant