Discussion:
ACL 8.0 generic-function-argument-precedence-order
Vyacheslav Akhmechet
2007-09-14 03:02:57 UTC
Permalink
Hi,
From what I understand from MOP recommendation
generic-function-argument-precedence-order is meant to return only
required arguments. Quoting the recommendation, "This value is a list
of symbols, a permutation of the required parameters in the lambda
list of the generic function." So far I've verified that this is
honored in SBCL and LispWorks, but not ACL:

(defmethod foo (a b c &rest d) nil)
(generic-function-lambda-list #'foo)
=> (A B C &REST D)

Am I misunderstanding the spec? Are there plans to fix this?

[1] http://www.podval.org/~sds/clisp/impnotes/mop-gf.html#gf-argument-precedence-order
Pascal Costanza
2007-09-14 05:32:13 UTC
Permalink
Post by Vyacheslav Akhmechet
Hi,
From what I understand from MOP recommendation
generic-function-argument-precedence-order is meant to return only
required arguments. Quoting the recommendation, "This value is a list
of symbols, a permutation of the required parameters in the lambda
list of the generic function." So far I've verified that this is
(defmethod foo (a b c &rest d) nil)
(generic-function-lambda-list #'foo)
=> (A B C &REST D)
Am I misunderstanding the spec? Are there plans to fix this?
I haven't been aware of this incompatibility yet. It should be
straightforward to provide a workaround in Closer to MOP, so I will
look into this.


Pascal
Post by Vyacheslav Akhmechet
[1] http://www.podval.org/~sds/clisp/impnotes/mop-gf.html#gf-
argument-precedence-order
_______________________________________________
closer-devel mailing list
http://common-lisp.net/cgi-bin/mailman/listinfo/closer-devel
--
Pascal Costanza, mailto:***@p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
Pascal Costanza
2007-11-24 18:26:25 UTC
Permalink
Post by Pascal Costanza
Post by Vyacheslav Akhmechet
Hi,
From what I understand from MOP recommendation
generic-function-argument-precedence-order is meant to return only
required arguments. Quoting the recommendation, "This value is a list
of symbols, a permutation of the required parameters in the lambda
list of the generic function." So far I've verified that this is
(defmethod foo (a b c &rest d) nil)
(generic-function-lambda-list #'foo)
=> (A B C &REST D)
Am I misunderstanding the spec? Are there plans to fix this?
I haven't been aware of this incompatibility yet. It should be
straightforward to provide a workaround in Closer to MOP, so I will
look into this.
There is now a fix for this problem in the Closer to MOP darcs
repository.


Pascal
--
Pascal Costanza, mailto:***@p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
Loading...