Plutarch: Using `s` type variable conflicts with the Plutarch scope `s` variable printed by default
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 42/100
Direzione di ricerca
Riproduci il problema con l’esempio ScriptDatum e ispeziona il generatore responsabile di autogen/LambdaBuffers/Cardano/Extra/ScriptStorage/Validation/Plutarch.hs. Traccia come vengono denominate la variabile di tipo sorgente e la variabile di scope di Plutarch; il lavoro è completo quando l’Haskell generato usa binder distinti e viene compilato senza l’errore di definizioni in conflitto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Sample
record ScriptDatum s = {
scriptType : s,
-- ^ Protocol specific script type stored in this UTxO
redeemer : AssetClass
-- ^ Wallet containing `$redeemer` must sign the 'delete-script' transaction as an authorization method
}
derive Eq (ScriptDatum s)
derive PlutusData (ScriptDatum s)
derive Json (ScriptDatum s)
Error
> [1 of 2] Compiling LambdaBuffers.Cardano.Extra.OneShot.Validation.Plutarch ( autogen/LambdaBuffers/Cardano/Extra/OneShot/Validation/Plutarch.hs, dist/build/LambdaBuffers/Cardano/Extra/OneShot/Validation/Plutarch.o, dist/build/LambdaBuffers/Cardano/Extra/OneShot/Validation/Plutarch.dyn_o )
> [2 of 2] Compiling LambdaBuffers.Cardano.Extra.ScriptStorage.Validation.Plutarch ( autogen/LambdaBuffers/Cardano/Extra/ScriptStorage/Validation/Plutarch.hs, dist/build/LambdaBuffers/Cardano/Extra/ScriptStorage/Validation/Plutarch.o, dist/build/LambdaBuffers/Cardano/Extra/ScriptStorage/Validation/Plutarch.dyn_o )
>
> autogen/LambdaBuffers/Cardano/Extra/ScriptStorage/Validation/Plutarch.hs:31:18: error:
> Conflicting definitions for ‘s’
> Bound at: autogen/LambdaBuffers/Cardano/Extra/ScriptStorage/Validation/Plutarch.hs:31:18-38
> autogen/LambdaBuffers/Cardano/Extra/ScriptStorage/Validation/Plutarch.hs:31:40-56
> |
> 31 | data ScriptDatum (s :: Plutarch.PType) (s :: Plutarch.S) = ScriptDatum (Plutarch.Term s (Plutarch.Builtin.PAsData s))
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Workaround
Just use a different letter than s
record ScriptDatum a = {
scriptType : a,
-- ^ Protocol specific script type stored in this UTxO
redeemer : AssetClass
-- ^ Wallet containing `$redeemer` must sign the 'delete-script' transaction as an authorization method
}
derive Eq (ScriptDatum a)
derive PlutusData (ScriptDatum a)
derive Json (ScriptDatum a)
- Lingua principale
- Haskell
- Stelle
- 33
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 mlabs-haskell/lambda-buffers
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
mlabs-haskell/lambda-buffers#296 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
mlabs-haskell/lambda-buffers#295 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
mlabs-haskell/lambda-buffers#294 ·
-
Dykstra HFAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
mlabs-haskell/lambda-buffers#293 ·
-
Nix-free pathApertadevops
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
mlabs-haskell/lambda-buffers#292 ·
Tutte le issue di mlabs-haskell/lambda-buffers
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
objectionary/phino#1858 ·
I maintainer di solito rispondono entro 1 giorno
-
status: needs triage type: enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
haskell/haskell-language-server#5128 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
alunduil/siren-json.hs#246 ·
I maintainer di solito rispondono entro 1 giorno
-
question
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
NixOS/SC-election-2026#44 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno