haskell - le tuple sono definite in modo ricorsivo? [chiuso]

-1
  1. Le n-tuple sono definite ricorsivamente in termini di tuple di 2, ad esempio, sono (a, b, c) e (a, (b, c)) uguali?

  2. In caso negativo, qual è la logica alla base?

posta Michael Tsang 26.01.2015 - 14:05
fonte

2 risposte

5

(a, (b, c)) è una tupla di 2 elementi il cui secondo elemento è un'altra tupla di 2 elementi. Se il tuo suggerimento fosse stato adottato, non sarebbe possibile rappresentare una tupla all'interno della cella finale di un'altra tupla. Quale sarebbe una restrizione bizzarramente asimmetrica e renderebbe le tuple molto meno generalmente utili.

    
risposta data 26.01.2015 - 16:47
fonte
2

1, No è definito separatamente per ogni tupla. (Quindi i dati (,) a b = (,) a b per la tupla 2). Puoi vedere l'elenco completo (e il limite che puoi utilizzare) qui: link (anche il commento sul numero di n-tuple nella sorgente è divertente)

2, direi prestazioni ma non ne sono sicuro. (Modifica: vedere la risposta di @ itsbruce per una ragione migliore)

    
risposta data 26.01.2015 - 15:59
fonte

Leggi altre domande sui tag