Discussion: Should `MOI.set` perform complex operations?
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- julia
- Ambito
- backend-api-design
Direzione di ricerca
Inizia leggendo la pull request 356 e gli usi esistenti di MOI.set, quindi confrontali con compute_conflict!, write_to_file, read_from_file, submit, transform e Utilities.PenaltyRelaxation. Chiarisci i vantaggi, gli svantaggi e i precedenti per le operazioni complesse in set rispetto a modify e documenta gli standard concordati se la discussione porta a una decisione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Julia
- Stelle
- 146
- Fork
- 21
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di jump-dev/DiffOpt.jl
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
jump-dev/DiffOpt.jl#362 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
jump-dev/DiffOpt.jl#348 ·
-
good first issue
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
jump-dev/DiffOpt.jl#336 · 4 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
jump-dev/DiffOpt.jl#331 · 1 commento ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
jump-dev/DiffOpt.jl#318 · 1 commento ·
Tutte le issue di jump-dev/DiffOpt.jl
Issue simili
-
io
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
-
docs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JuliaGPU/GPUArrays.jl#837 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno