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

On usage of commonIdea #3315

Open
JacquesCarette opened this issue Mar 22, 2023 · 8 comments
Open

On usage of commonIdea #3315

JacquesCarette opened this issue Mar 22, 2023 · 8 comments
Labels
newcomers Good first issue to work on!

Comments

@JacquesCarette
Copy link
Owner

commonIdea and commonIdeaDict should check if the list they are given is empty and, if so, complain. mkIdea should be used instead.

There are quite a few abuses of this in Drasil, and they should all be fixed.

@JacquesCarette JacquesCarette added the newcomers Good first issue to work on! label Mar 22, 2023
@hrzhuang hrzhuang self-assigned this May 1, 2023
@hrzhuang
Copy link
Collaborator

hrzhuang commented May 2, 2023

Is there a reason why AuxConsProg uses a CI instead of a type class constraint like NamedIdea?

@JacquesCarette
Copy link
Owner Author

Probably no good reason for it. Try to fix it and see what happens!

@hrzhuang
Copy link
Collaborator

hrzhuang commented May 4, 2023

So the problem here is that AuxConsProg constructs a AuxConstntSec, which is used in DocSection. If we use a type class like NamedIdea for the first argument of AuxConsProg, then AuxConstntSec would need a type parameter, which in turn would require DocSection to have a type parameter, and this seems to be a change that would require some more deliberation.

The CI argument to AuxConsProg seems to just be used for the name of the program (e.g. GlassBR). Does it in fact make sense to use a raw CI here?

On a related note, a number of uses of commonIdea/commonIdeaWithDict with empty domain is just the names of the programs. If it is appropriate for these to be CIs, what should be their domains?

@hrzhuang
Copy link
Collaborator

hrzhuang commented May 4, 2023

Another "abuse" of commonIdea is the smart constructors dcc' and dccWDS' for CommonConcept. I suppose if CIs should always have a non-empty list of domains, then that list of domains should also be added as an argument to dcc' and dccWDS'?

@JacquesCarette
Copy link
Owner Author

Right - things like DocSection should have much more concrete contents. Having it have an extra type parameter seems like it could spiral out of control (though it wouldn't be wrong).

Your follow-up question is excellent: we need a name, not a 'concept' here. The only reason we'd want a concept is to be able to cross-reference the UID somehow. Which might happen!

As to: what is the 'domain' of a program name? This, I don't know. Which maybe is a further hint that this isn't a "concept" per se.

There is a bigger issue with these representations - I can't find the number right now. @balacij ?

@balacij
Copy link
Collaborator

balacij commented May 9, 2023

Sorry, I'm not entirely sure what the larger issue you're referring to is, @JacquesCarette. Is it about the "gradual chunk building?"

@JacquesCarette
Copy link
Owner Author

Yes, and the project to revisit how we store the data in chunks.

@balacij
Copy link
Collaborator

balacij commented May 9, 2023

Gotcha, that's #2873. We also have a larger discussion in chapter 8 of my master's thesis.

@hrzhuang hrzhuang removed their assignment May 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
newcomers Good first issue to work on!
Projects
None yet
Development

No branches or pull requests

3 participants