私は現在、ベクトル演算の小さな実装を書いています。ベクトルを操作する独自の «-» および «+» (およびその他の) 関数を定義したいと考えています。
また、これらすべての機能をパッケージに配置したいと考えています。
そして、この架空のパッケージ、たとえば «vec» という名前を付けて、次のように動作させたいと考えています。
- パッケージ内で関数 «-» と «+» を定義しますが、(同じパッケージ内で) + または - を呼び出すと、Common Lisp ビルトインが呼び出されます。
+
以前のことが不可能な場合は、ビルトインおよび-
ascl:+
およびを呼び出したいのですcl:-
が、他の必要なすべての関数を から明示的にインポートする必要はありません:cl
。- パッケージをインポートする
vec
か、別のパッケージの定義のセクションでそれを言及すると:use
、common-lisp パッケージの «-» と «+» は引き続き使用でき、パッケージ vec の関数は のように呼び出されるため、 と の間に(vec:+ v1 v2)
名前の競合はありません。vec:+
cl:+
では、この動作を実現するための最良の (そして適切な) 方法は何ですか?