2017-01-28 8 views
-3

пытается преобразовать определение типа из Ocaml/F # для Haskell, получаю сообщение об ошибке:преобразовать определение типа Ocaml/Haskell в Haskell: * в определении

error: parse error on input `*' 

Как я мог исправить код?

тока Haskell код:

data Func sa sb = 
    Empty 
    | Leaf Int * (sa * sb) List 
    | Branch Int * Int * (Func sa sb) * (Func sa sb) 

Ocaml:

type ('a,'b)func = 
Empty 
| Leaf of int * ('a*'b)list 
| Branch of int * int * ('a,'b)func * ('a,'b)func;; 

F #

type func<'a,'b> = 
    | Empty 
    | Leaf of int * ('a * 'b) list 
    | Branch of int * int * func<'a,'b> * func<'a,'b> 

ответ

8
data Func a b 
    = Empty 
    | Leaf Int [(a, b)] 
    | Branch Int Int (Func a b) (Func a b)