google / google/codeworld

List comprehension blocks don't preserve the order of vars and guards

Aperta
#1,148 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug funblocks
Lingua principale
Haskell
Stelle
1.3k
Fork
201
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

**Shared Program**:

https://code.world/blocks#PYNCRqCIpHdD-Jh0PQZKMxw
https://code.world/#PLG3J8mHD49-0P8xn8qIiYA

**Description**

In list comprehension blocks, there's an assumption that guards must appear after all variables are declared. As shown in the first shared program, when you add a guard before another local variable declaration, it puts the guard at the end in the code portion. Also, if you open the mutator afterwards, it switches the order of the inputs so the guards are after the variables.

This assumption doesn't work for shadowed variables in list comprehensions which are perfectly valid. An example of this is the second shared program. Note the difference in the left and right picture based on the positioning of the guard

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Apri prima i due programmi condivisi collegati e confronta la disposizione dei blocchi con il codice generato. Segui il mutatore del blocco di comprensione di liste e la sua gestione delle variabili e delle guardie; il lavoro è completato quando il loro ordine originale viene preservato nei blocchi, nel codice generato e dopo aver riaperto il mutatore, incluso l’esempio della variabile ombreggiata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
haskell
Ambito
frontend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.