En Haskell es fácil hacer una unión algebraica tipo/discriminada "visualizable" como una cadena simplemente agregando deriving Show
a la definición de tipo.Haskell's "deriving Show" en F #?
En F # termino de escribir cosas como:
type Pos =
| Pos of int * int
override this.ToString() =
match this with
Pos(startp, endp) -> sprintf "Pos(%d, %d)" startp endp
y, obviamente, se pone mucho peor con tipos más complicados.
Cualquier forma de obtener algo como deriving Show
en F #?
Err, F # ya hace esto automáticamente, por lo que no tiene que escribir 'deriving Show'. –