Sto cercando di insegnare a me stesso F # effettuando il porting di un codice Haskell.Haskell a F # - dichiara tipi ricorsivi in f #
Specifily sto cercando di porto il conto alla rovescia Problema mostrato here
Il Codice Haskell è elencato here
Sto cercando di creare i seguenti tipi di Haskell in F #:
data Op = Add | Sub | Mul | Div
data Expr = Val Int | App Op Expr Expr
in fa # Penso che il tipo Op sia definito come segue:
type Op = | Add | Sub | Mul | Div
Ho problemi con il tipo Expr.
Come si crea un tipo ricorsivo? Da this SO question sembra che non sia possibile creare il tipo Expr in F #.
Anche qual è l'equivalente F # del tipo 'App' che applica s il tipo Op al tipo Expr.
Se non è possibile effettuare il porting diretto di questo codice, qualcuno potrebbe suggerire una struttura dati alternativa.
grazie mille! – TonyAbell