Discussion: Should `MOI.set` perform complex operations?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Documentation
- Clarté
- À clarifier
- Activité
- Calme
- Stack technique
- julia
- Domaine
- backend-api-design
Piste de recherche
Commencez par lire la pull request 356 et les utilisations existantes de MOI.set, puis comparez-les avec compute_conflict!, write_to_file, read_from_file, submit, transform et Utilities.PenaltyRelaxation. Clarifiez les avantages, les inconvénients et les précédents concernant les opérations complexes dans set par rapport à modify, et documentez les normes convenues si la discussion aboutit à une décision.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
As far as I understand MOI.set is primarily used for setting attributes.
However, https://github.com/jump-dev/DiffOpt.jl/pull/356 introduced:
function MOI.set(model::Model, ::DiffOpt.ForwardDifferentiate)
as a replacement to
function forward_differentiate!(model)
Historically, performing more complex operations has been left (mostly?) for special functions such as:
compute_conflict!write_to_fileread_from_filesubmittransform
A partial counter argument is:
Utilities.PenaltyRelaxation, but it is amodifynot even aset
I do think modify here makes sense.
Are there any other arguments to each side? any other precedent?
I would like to have the reasoning for that clarified.
What are de advantages and disadvantages?
Bonus:
As a follow-up, we should have good practices and standards documented to help developers consistently make decisions in these cases.
- Langage dominant
- Julia
- Étoiles
- 146
- Forks
- 21
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de jump-dev/DiffOpt.jl
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
jump-dev/DiffOpt.jl#362 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
jump-dev/DiffOpt.jl#348 ·
-
good first issue
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
jump-dev/DiffOpt.jl#336 · 4 commentaires ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
jump-dev/DiffOpt.jl#331 · 1 commentaire ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
jump-dev/DiffOpt.jl#318 · 1 commentaire ·
Toutes les issues de jump-dev/DiffOpt.jl
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
legend-exp/LegendDataManagement.jl#232 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
EnzymeAD/Reactant.jl#3569 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
astroautomata/SymbolicRegression.jl#783 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
Les mainteneurs répondent en général sous 1 jour