记录语法是非法的。haskell中的二叉树

记录语法是非法的。haskell中的二叉树,haskell,syntax,Haskell,Syntax,我用记录语法的方式定义了树类型 data Tree a = Null | Node a {lTree:: Tree a, rTree :: Tree a} 但是,当我加载它时,它会显示一个错误: • Record syntax is illegal here: {lTree :: Tree a, rTree :: Tree a} • In the type ‘{lTree :: Tree a, rTree :: Tree a}’ In the definition of d

我用记录语法的方式定义了树类型

data Tree a = Null | Node a {lTree:: Tree a, rTree :: Tree a}
但是,当我加载它时,它会显示一个错误:

• Record syntax is illegal here: {lTree :: Tree a, rTree :: Tree a}
    • In the type ‘{lTree :: Tree a, rTree :: Tree a}’
      In the definition of data constructor ‘Node’
      In the data declaration for ‘Tree’
  |
2 | data Tree a = Null | Node a {lTree:: Tree a, rTree :: Tree a}
  |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

a
也应该是记录语法的一部分,例如:

data Tree a = Null | Node {valTree :: a, lTree:: Tree a, rTree :: Tree a}

a
也应该是记录语法的一部分,例如:

data Tree a = Null | Node {valTree :: a, lTree:: Tree a, rTree :: Tree a}

请使用格式化使您的文章更具可读性顺便说一句,在多个构造函数中使用记录语法本身就是危险的。它使记录访问器成为部分函数。请使用格式化使您的文章更具可读性。顺便说一句,在多个构造函数中使用记录语法本身就是危险的。它使记录存取器成为部分函数。