In Haskell è facile creare un tipo algebrico/unione discriminata "visualizzabile" come stringa aggiungendo semplicemente deriving Show
alla definizione del tipo."Show derivante" di Haskell in F #?
In F # io alla fine a scrivere cose come:
type Pos =
| Pos of int * int
override this.ToString() =
match this with
Pos(startp, endp) -> sprintf "Pos(%d, %d)" startp endp
e, ovviamente, diventa molto peggio con i tipi più complicati.
Un modo per ottenere qualcosa come deriving Show
in F #?
Err, F # lo fa già automaticamente per voi in modo da non dover scrivere 'derivando Show'. –