-
-
Notifications
You must be signed in to change notification settings - Fork 516
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
Set factories #10194
Comments
comment:1
Patch under development on the Sage-Combinat patch server. |
This comment has been minimized.
This comment has been minimized.
Changed keywords from none to factories, days30 |
Changed keywords from factories, days30 to factories, days30, Cernay2012 |
This comment has been minimized.
This comment has been minimized.
Work Issues: doctest failures |
comment:7
Attachment: trac_10194-factories_policy-fh.patch.gz This fails doctests on every version tested -- see patchbot logs |
comment:8
Replying to @loefflerd:
I forgot a dependency to #10963. Thanks for pointing this out. |
Dependencies: #10963 |
comment:9
There is no patch at #10963. I don't think this can be meaningfully tagged as "needs review" when one of its dependencies doesn't exist yet. |
comment:10
Replying to @loefflerd:
As you can see on #10963, the patch is far for being inexistent as Simon and Christian started to review it. Of course it is on the Sage-Combinat queue. I need to ping Nicolas to have him finish it. Now, I don't see why having Nicolas's patch unfinished forbid me to have some feedback on this one. And asking for such a feedback seems to be a perfectly meaningful reason for putting "needs review"... The only reason I can see for not doing it is that it can trouble the patchbot. Do you have another one ? |
comment:11
Salut Florent! Why is there a dependency on 10963? In the queue, this patch is much lower than 10963. |
comment:12
Ah, I see, it's about the glitch Sets().Facade() <-> Sets().Facades(). Since anyway the patch is up the queue, I suggest we finish commuting the two patches. Just use Sets().Facades() (we will need to keep the backward compatibility anyway). With that, the tests pass up to to trivially failing doctests:
Cheers, |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:57
9 failing doctests, see patchbot report |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:59
Replying to @fchapoton:
Hi Frederic, I should have fixed most of the problems (including comment 53). I still need a last pass of re-reading before putting it as needs review. Florent |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:61
This should be ready for review Florent |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:63
Was there any need for a merge ? |
comment:64
Replying to @fchapoton:
No there wasn't, but my goal is to update trees to use factories and ultimately to do computation in operads. As you merged 6.7 in operads I also merged this one to avoid going back and forth. There is not diff before and after the merge so that you can review on the unmerged version. |
comment:65
ok, let this get in. There are several combinatorial tickets on top of it. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Changed branch from public/ticket/10194 to |
At Sage days 30, a long brainstorm seems to have finalized the design. Here is a excerpt from the documentation:
A set factory
F
is device, whose goal is to construct parentP
which models subsets of a big set
S
. Typically, theP
s are constructedwithin families obtained by putting a bunch of constraints
cons
on theelements of the set
S
. In such a hierarchy of subsets, one needs to have afine and easy control on the elements construction. That is, one often needs
that
P
constructs elements in a subclass of its usual class for element. Onthe contrary, one also often needs
P
to be a facade parent, meaning thatP
construct element whose actual parent is not
P
itself.The role of a set factory is twofold:
manage a database of constructors for the different parents
P = F(cons)
depending on the various kinds of constraints
cons
. Note: currently thereis no real support for that. We are gathering use case before fixing the
interface.
ensure that the elements
e = P(...)
created by the different parentsfollows a consistent policy concerning their class and parent.
The patch implement this idea while trying to leave as much as possible space
for further improvement. In particular, I tried to specify the few possible
things about constraints. I'm even not completely sure about
add_constraints
.Please comment and review.
Florent
CC: @sagetrac-sage-combinat @hivert
Component: combinatorics
Keywords: factories, days30, Cernay2012, days57
Author: Florent Hivert
Branch/Commit:
763f93c
Reviewer: Frédéric Chapoton
Issue created by migration from https://trac.sagemath.org/ticket/10194
The text was updated successfully, but these errors were encountered: