<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><BR><DIV><DIV>On 20 Oct 2006, at 00:03, Attila Lendvai wrote:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite"><DIV><DIV>as i understand subjects in slate they are a way for the user to override very specific situations. just think of the subject being an implicit last argument in a message send: with multiple dispatch this means that you can override one single signature by specializing on the last implicit arg (the subject), whereas with layers (first implicit arg) you can override an entire bunch of methods. <BR></DIV></DIV></BLOCKQUOTE><DIV><BR class="khtml-block-placeholder"></DIV><DIV>No, in ContextL it's actually the same as in Slate in this regard: Although the layer parameter is the first in the internal arguments list, in the argument precedence order it's the last. So the layer is always the least specific argument, whenever the other required arguments lead to an unambiguous situation, the layer won't play a role in determining the most specific method.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><BLOCKQUOTE type="cite">PS: i've just pushed ContextL integration for <A href="http://common-lisp.net/project/defclass-star/">defclass-star</A> by defining a deflayer*<BR></BLOCKQUOTE><BR></DIV><DIV>Nice, thanks.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Pascal</DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV>-- </DIV><DIV>Pascal Costanza, <A href="mailto:pc@p-cos.net">mailto:pc@p-cos.net</A>, <A href="http://p-cos.net">http://p-cos.net</A></DIV><DIV>Vrije Universiteit Brussel, Programming Technology Lab</DIV><DIV>Pleinlaan 2, B-1050 Brussel, Belgium</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR class="Apple-interchange-newline"></SPAN> </DIV><BR></BODY></HTML>