Define `vsepHard`

Aperta Adatta ai principianti
#237 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
65/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
haskell
Ambito
tooling

Direzione di ricerca

Inizia individuando le funzioni esistenti di concatenazione n-aria per gli spazi non separabili, gli spazi con interruzione, le righe e le righe morbide. Aggiungi la funzione vsepHard mancante accanto a esse con il comportamento specificato nell’issue, quindi verifica che mantenga ogni coppia di documenti su righe separate e che corrisponda allo stile dell’API circostante.

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

Descrizione

Feature request

Define

vsepHard :: [ Doc a ] -> Doc a
vsepHard = concatWith (\x y -> x <> hardline <> y)

This is a missing function. We have n-ary concatenation functions for various separators: non-breaking spaces, breaking spaces, lines, softlines... but not hardlines.

vsepHard is useful when you have things that you just never want to lay out on a single line. For example, in a programming language you might define let-bindings like so

let 
  x = 1
  y = 2
in t

I always want the x and y bindings to be on separate lines. A more sophisticated version might use flatAlt to use a different syntax when grouped, but I think the simple approach of "just always break" is often useful.

Lingua principale
Haskell
Stelle
309
Fork
43
Merge medio
21h 25m
PR unite (30g)
1

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di haskell-prettyprinter/prettyprinter

Tutte le issue di haskell-prettyprinter/prettyprinter

Issue simili

Altre issue su Haskell

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.