‘?dup’ and ‘drop’

Jason Kemp <[email protected]> Fri, 17 Oct 2008 17:42:34 +0100
Newsgroups gmane.comp.lang.forth.colorforth
Message-ID <[email protected]>
Hi,

I understand that ?dup only compiles a dup if the previous instruction 
was not a drop.  If it was a drop then the drop is removed and no dup is 
compiled either.  Karig, http://www.karig.net/os/cf/c.htm#cdrop explains 
this.

But how can it be assumed that the TOS (that was to have been dropped) 
and NOS are identical so that we don't need a drop followed by a dup?

Thanks,
Jason