Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Bernd Paysan Newsgroups: comp.lang.forth Subject: Re: Recognizers discussion Date: Sun, 7 May 2017 22:42:06 -0000 (UTC) Organization: A noiseless patient Spider Lines: 23 Message-ID: References: <6c191e71-1a1c-4b13-9c92-e82e0c836788@googlegroups.com> <77b0ca53-6bf4-4c73-a426-2504cb959544@googlegroups.com> <2017May4.181413@mips.complang.tuwien.ac.at> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Sun, 7 May 2017 22:42:06 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="79155c39dca47d2ba49cb1fa714037f8"; logging-data="3874"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+hXuBfkIR6uK6YXzqWLQwW7PCgzEITF7w=" User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Cancel-Lock: sha1:/hY9EYPQ/PoUe/Xl+HGA4d+0A/g= Xref: csiph.com comp.lang.forth:58794 Am Sun, 07 May 2017 03:56:42 -0500 schrieb Andrew Haley: > If the method doesn't beling to the class you'll get an exception. Only if you do run-time checking... And we are Forthers, we don't do run- time checking. So in a vtable-based approach if the method is not defined in the class, because it belongs to a completely different class, and there's a method defined in that slot in the vtable, this method is called. It might or might not lead to an exception. It's just like when you access a member variable that is not part of the object, it will access some memory, either within or beyond the object. That's why people like to use vocabularies to make sure only those methods and fields are visible that make actually sense in that context. -- Bernd Paysan "If you want it done right, you have to do it yourself" net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ* http://bernd-paysan.de/