Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #11271

Re: :NONAME

Newsgroups comp.lang.forth
From Albert van der Horst <albert@spenarnc.xs4all.nl>
Subject Re: :NONAME
Date 2012-04-13 19:40 +0000
Message-ID <m2fnzi.ltj@spenarnc.xs4all.nl> (permalink)
Organization Dutch Forth Workshop
References <57b57e62-cd3c-40bf-88c5-733cb07c2e50@do4g2000vbb.googlegroups.com> <4939429d-3d6a-4d63-a095-c10e1b6357e0@w17g2000yqe.googlegroups.com> <c53bcd5e-ee60-43f6-a1a8-c02fcf29d335@m13g2000yqc.googlegroups.com> <ba539ad0-31f9-4f97-8ea6-f973be538cad@v7g2000pbs.googlegroups.com>

Show all headers | View raw


In article <ba539ad0-31f9-4f97-8ea6-f973be538cad@v7g2000pbs.googlegroups.com>,
Ian Osgood  <iano@quirkster.com> wrote:
>On Apr 12, 11:58=A0pm, Mark Wills <markrobertwi...@yahoo.co.uk> wrote:
>> On Apr 12, 10:54=A0pm, BruceMcF <agil...@netscape.net> wrote:
>>
>>
>>
>> > The word is not fleeting, otherwise you couldn't put the XT in a
>> > constant or a vector table for later execution.
>>
>> There doesn't seem to be much point in it then, quite frankly. I mean,
>> it gets compiled, and leaves it's xt. Wowee. You mean like:
>>
>> : thing ... ;
>> ' thing
>>
>> Am I missing something here?
>
>Sometimes you only want to refer to a word by index rather than by
>name.  :NONAME gives you a mechanism to create an array of functions
>without filling the dictionary with meaningless function names.
>
>  http://rosettacode.org/wiki/Roman_numerals/Encode#Forth
>
>Also, :NONAME/DEFER gives you a mechanism for forward declaration
>which is otherwise absent, for implementing things like vectored
>execution and mutual recursion.

I just coded mutula recursion for an Euler problem.

VARIABLE G'
: HH      ...     G' @ EXECUTE ... ;
: G .... ;
' G G' !

The reason: I find it hard to remember how to use DEFER.
It also doesn't make it any more concise.

A similar thing with class methods:

class DISASSEMBLE-ITEM
   ...
   M: DISASSEMBLE    @ EXECUTE M;
   M: DEFINE-DISASSEMBLER   ! M;      0 ,
   ...

endclass

DEFINE-DISASSEMBLER is used to fill in a virtual method.
No need for a special syntax for "inheritance".

N.B. In my class system, M: is like DOES>
Both methods get the address from where the 0 is stored.

>
>Ian

Groetjes Albert

--
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

:NONAME Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-12 13:48 -0700
  Re: :NONAME Zbiggy <zbigniew2011REMOVE@gmail.REMOVE.com> - 2012-04-12 23:08 +0100
  Re: :NONAME Andrew Haley <andrew29@littlepinkcloud.invalid> - 2012-04-12 16:53 -0500
    Re: :NONAME The Beez <the.beez.speaks@gmail.com> - 2012-04-12 23:50 -0700
    Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-13 05:34 -0700
      Re: :NONAME Andrew Haley <andrew29@littlepinkcloud.invalid> - 2012-04-13 08:02 -0500
        Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-13 07:26 -0700
  Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-12 14:54 -0700
    Re: :NONAME Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-12 23:58 -0700
      Re: :NONAME "Elizabeth D. Rather" <erather@forth.com> - 2012-04-12 21:11 -1000
        Re: :NONAME Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-04-22 23:13 -0700
      Re: :NONAME Ian Osgood <iano@quirkster.com> - 2012-04-13 04:31 -0700
        Re: :NONAME Albert van der Horst <albert@spenarnc.xs4all.nl> - 2012-04-13 19:40 +0000
      Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-13 05:15 -0700
      Re: :NONAME Andrew Haley <andrew29@littlepinkcloud.invalid> - 2012-04-13 08:00 -0500
        Re: :NONAME Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-13 06:19 -0700
          Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-13 07:33 -0700
  Re: :NONAME "Elizabeth D. Rather" <erather@forth.com> - 2012-04-12 13:54 -1000
    Re: :NONAME "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-13 11:54 -0400
      Re: :NONAME Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-13 10:23 -0700
      Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-13 13:02 -0700
      Re: :NONAME Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-13 13:06 -0700
        Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-13 15:57 -0700
        Re: :NONAME Albert van der Horst <albert@spenarnc.xs4all.nl> - 2012-04-14 01:05 +0000
        Re: :NONAME "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-14 17:23 -0400
          Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-14 16:22 -0700
            Re: :NONAME "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-15 12:50 -0400
              Re: :NONAME "Elizabeth D. Rather" <erather@forth.com> - 2012-04-15 08:12 -1000
              Re: :NONAME BruceMcF <agila61@netscape.net> - 2012-04-15 11:17 -0700
        Re: :NONAME Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-04-17 16:21 -0700

csiph-web