スキームでいくつかのコードを定義するのに問題があります。Scheme/Racket でノードのレコードを作成しようとしていますが、これまでのコードは次のようになっています。
(define-record-type node
(make-node v l r)
node?
(v tree-value)
(l tree-left)
(r tree-right))
ただし、実行しようとすると、次のエラーが発生します。
define-record-type: expected a
mutable',immutable',
parent',protocol',
sealed',opaque',
nongenerative', orparent-rtd' clause in: (make-node v l r)
フィールド型を可変、不変などに定義できることは理解していますが、なぜこれがコンストラクターの句である必要があるのか わかりません。
誰か説明してくれませんか
1) このエラーを回避する方法
2)なぜ発生するのか