ユーザーがClojureで書かれていることを知らなくても、Javaから使用できるClojureライブラリを作成しようとしています。このためには、フィールドに適切な型が必要です。
私はこれができるのが好きです:
(deftype Point [^double x ^double y])
x/y の適切な型を持つクラスを生成します。ただし、これはクラスではなく、プリミティブに対してのみ機能するようです。
(deftype Foo [^String bar])
以下を生成します。
public final Object bar;
私が期待する場所:
public final String bar;
フィールドの種類を制限する方法はありますか? deftype
/以外に別のオプションはありますdefrecord
か?