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


Groups > comp.lang.forth > #36270

Re: Reducing C,

From "Alex McDonald" <blog@rivadpm.com>
Newsgroups comp.lang.forth
Subject Re: Reducing C,
Date 2015-02-04 12:10 +0000
Organization A noiseless patient Spider
Message-ID <mat270$fa1$1@dont-email.me> (permalink)
References (9 earlier) <4cf3c3a3-4f32-4718-8dd7-9ef37338bf08@googlegroups.com> <maqdih$1j0$1@dont-email.me> <mar8ii$kmq$1@dont-email.me> <b4ebcb11-81f3-4089-a7cb-e0602d06a329@googlegroups.com> <2c91cd7b-ee3c-4cd3-8b6c-c60359c2e30d@googlegroups.com>

Show all headers | View raw


on 04/02/2015 05:19:32,  wrote:
> On Tuesday, February 3, 2015 at 3:06:35 PM UTC-7, jo...@planet.nl
> > wrote:
>> \ Hi Alex,
>> \ I agree with you after seeing your code.
>> \ My code has been changed as follows:
>>
>> : ;bytes   ( numbers... -- )
>>     depth last @ name> >body tuck @ - dup>r
>>     swap ! here r@ allot
>>     dup r> + 1-
>>       do   i c! -1  +loop ;
>>
>> : long$:  \ compiletime: ( "name" - ) runtime: ( - Adr #items )
>>    create depth ,   \ map: n...
>>    does>  lcount ;
>>
>> long$: &test2 ( - adr #bytes )  char H char E char Y char !  ;bytes
>>
>> cr &test2 type cr
>> \s
> 
[snip]

> 
> The big problem is that you are assuming that the data and code are
> separat e, which is not required in ANS-Forth (it should have been,
> but wasn't). Th e effect of this is that the ALLOT in ;BYTES is not
> necessarily going to pr ovide memory immediately after the count value
> that is comma'd after the CR EATE (the >BODY address) --- on many
> Forth systems, the DOES> will put its code there.
> 
> What you are doing is not possible in ANS-Forth, which is why I didn't
> do a nything like that --- it is sad, but even a trivial programming
> challenge f or a novice requires work-arounds to the failures of
> ANS-Forth.

That's a good point re code & data space, but contrary to your assertion,
is possible in ANS; just move the DOES> out into ;BYTES.

: ;bytes   ( numbers... -- )
    depth last @ name> >body tuck @ - dup>r
    swap ! here r@ allot
    dup r> + 1-
      do   i c! -1  +loop 
   does> lcount ;

: long$:  \ compiletime: ( "name" - ) runtime: ( - Adr #items )
   create depth , ;  \ map: n...

long$: &test2 ( - adr #bytes )  char H char E char Y char !  ;bytes

[snip]

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


Thread

Reducing C, josv@planet.nl - 2015-01-28 04:07 -0800
  Re: Reducing C, Mark Wills <markwills1970@gmail.com> - 2015-01-28 05:02 -0800
  Re: Reducing C, Howerd <howerdo@yahoo.co.uk> - 2015-01-28 07:42 -0800
    Re: Reducing C, josv@planet.nl - 2015-01-28 08:17 -0800
  Re: Reducing C, "HAA" <someone@microsoft.com> - 2015-01-29 03:37 +1100
  Re: Reducing C, visualforth@rocketmail.com - 2015-01-28 12:53 -0800
  Re: Reducing C, humptydumpty <ouatubi@gmail.com> - 2015-01-28 14:03 -0800
  Re: Reducing C, humptydumpty <ouatubi@gmail.com> - 2015-01-28 20:39 -0800
    Re: Reducing C, humptydumpty <ouatubi@gmail.com> - 2015-01-28 20:51 -0800
      Re: Reducing C, josv@planet.nl - 2015-01-29 06:28 -0800
  Re: Reducing C, hughaguilar96@gmail.com - 2015-01-29 21:18 -0800
    Re: Reducing C, josv@planet.nl - 2015-01-30 05:38 -0800
      Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-01-30 15:11 +0000
        Re: Reducing C, josv@planet.nl - 2015-01-30 08:34 -0800
      Re: Reducing C, hughaguilar96@gmail.com - 2015-01-31 20:26 -0800
        Re: Reducing C, josv@planet.nl - 2015-02-01 11:16 -0800
          Re: Reducing C, "HAA" <someone@microsoft.com> - 2015-02-02 11:03 +1100
            Re: Reducing C, "Elizabeth D. Rather" <erather@forth.com> - 2015-02-01 14:13 -1000
              Re: Reducing C, hughaguilar96@gmail.com - 2015-02-01 17:22 -0800
              Re: Reducing C, hughaguilar96@gmail.com - 2015-02-01 17:36 -0800
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-02 11:40 +0000
                Re: Reducing C, Mark Wills <markwills1970@gmail.com> - 2015-02-02 05:24 -0800
                Netiquette was: Re: Reducing C, albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-02-02 13:40 +0000
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-02 15:08 +0000
                Politeness, was Re: Reducing C, "Rod Pemberton" <buzz@notnotnontnooatno.cmm> - 2015-02-02 19:30 -0500
                Re: Politeness, was Re: Reducing C, awegel@arcor.de (Alexander Wegel) - 2015-02-03 01:57 +0100
                Re: Politeness, was Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-03 11:59 +0000
                Re: Reducing C, josv@planet.nl - 2015-02-03 02:31 -0800
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-03 12:06 +0000
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-03 19:47 +0000
                Re: Reducing C, josv@planet.nl - 2015-02-03 14:06 -0800
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-03 21:19 -0800
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-04 12:10 +0000
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-04 18:22 -0800
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-04 19:04 -0800
                Re: Reducing C, stephen@mpeforth.com (Stephen Pelc) - 2015-02-05 11:33 +0000
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-05 19:39 -0800
                Re: Reducing C, stephen@mpeforth.com (Stephen Pelc) - 2015-02-06 11:50 +0000
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-06 11:28 -0800
                Re: Reducing C, Mark Wills <markwills1970@gmail.com> - 2015-02-05 04:37 -0800
                Re: Reducing C, "HAA" <someone@microsoft.com> - 2015-02-06 21:47 +1100
                Re: Reducing C, "HAA" <someone@microsoft.com> - 2015-02-13 09:45 +1100
                Re: Reducing C, Mark Wills <markwills1970@gmail.com> - 2015-02-13 05:24 -0800
                Re: Reducing C, "HAA" <someone@microsoft.com> - 2015-02-15 13:53 +1100
                Re: Reducing C, Mark Wills <markwills1970@gmail.com> - 2015-02-16 01:07 -0800
                Re: Reducing C, anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-02-16 15:02 +0000
                Re: Reducing C, "HAA" <someone@microsoft.com> - 2015-02-19 14:22 +1100
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-05 13:18 +0000
                Re: Reducing C, josv@planet.nl - 2015-02-05 07:02 -0800
                Re: Reducing C, josv@planet.nl - 2015-02-05 07:14 -0800
                Re: Reducing C, josv@planet.nl - 2015-02-07 07:12 -0800
                Re: Reducing C, josv@planet.nl - 2015-02-04 07:12 -0800
                Re: Reducing C, november.nihal@gmail.com - 2015-02-04 09:38 -0800
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-04 21:08 +0000
                Re: Reducing C, josv@planet.nl - 2015-02-05 06:45 -0800
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-06 13:21 +0000
                Re: Reducing C, awegel@arcor.de (Alexander Wegel) - 2015-02-05 17:36 +0100
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-05 17:06 +0000
                Re: Reducing C, awegel@arcor.de (Alexander Wegel) - 2015-02-05 18:17 +0100
                Re: Reducing C, "Elizabeth D. Rather" <erather@forth.com> - 2015-02-05 10:40 -1000
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-05 20:25 -0800
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-06 11:39 +0000
                Re: Reducing C, awegel@arcor.de (Alexander Wegel) - 2015-02-06 12:48 +0100
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-06 17:28 -0800
                Re: Reducing C, awegel@arcor.de (Alexander Wegel) - 2015-02-07 12:38 +0100
                Re: Reducing C, albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-02-06 14:40 +0000
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-06 18:33 -0800
                Re: Reducing C, anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-02-06 13:49 +0000
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-06 14:15 +0000
                Re: Reducing C, hughaguilar96@gmail.com - 2015-02-03 21:23 -0800
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-04 12:41 +0000
                Re: Reducing C, "WJ" <w_a_x_man@yahoo.com> - 2015-02-04 18:19 +0000
                Re: Reducing C, "WJ" <w_a_x_man@yahoo.com> - 2015-02-04 20:54 +0000
                Re: Reducing C, "WJ" <w_a_x_man@yahoo.com> - 2015-02-04 09:41 +0000
                Re: Reducing C, "Alex McDonald" <blog@rivadpm.com> - 2015-02-04 12:54 +0000

csiph-web