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


Groups > comp.lang.forth > #24576

Re: jonesforth: taking up the challenge

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: jonesforth: taking up the challenge
Date 2013-07-18 23:23 +0200
Organization 1&1 Internet AG
Message-ID <ks9mde$33j$1@online.de> (permalink)
References <51ae2e6d$0$26867$e4fe514c@dreader37.news.xs4all.nl> <87y59cn86j.fsf@csgate4.strotmann.de> <51e034e7$0$576$e4fe514c@dreader34.news.xs4all.nl> <51e83f8e$0$6362$e4fe514c@dreader35.news.xs4all.nl>

Show all headers | View raw


Albert van der Horst wrote:

> Because they are such normal words, I can't find FOR NEXT looping
> in Forth in Google. What is their specification?
> (Considering it as an alternative for DO LOOP).

If you are looking for Forth primitives re-encoded in high-level Forth, get 
Gforth, and look into kernel/prim.fs.  It has a replacement for about almost 
every primitive, except the few that simply can't be replaced (including 
replacements which are circular, e.g. you can define ?branch with 0= and 
others, and 0= with ?branch).

: (for)  ( ncount -- R:nlimit R:ncount )
 r> swap 0 >r >r >r ;

: (next)  ( #a_target R:n1 -- R:n2 )
 r> r> dup 1- >r
 IF @ >r ELSE cell+ >r THEN ;

You need to compile UNLOOP after (next), and in Gforth, it's made compatible 
with DO LOOP, which you might not need - then the unused limit isn't needed.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

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


Thread

Re: jonesforth: taking up the challenge Carsten Strotmann <cas@strotmann.de> - 2013-07-11 22:38 +0200
  Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-07-11 14:08 -0700
    Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 01:53 +0000
      Re: jonesforth: taking up the challenge m.a.m.hendrix@tue.nl - 2013-07-11 23:49 -0700
        Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 12:24 +0000
    Re: jonesforth: taking up the challenge Hannu Vuolasaho <hannu.vuolasaho@nospam.tut.fi.invalid> - 2013-07-12 12:29 +0000
  Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 01:42 +0000
    Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-07-11 19:42 -0700
      Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 02:56 +0000
        Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-07-11 20:16 -0700
          Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-12 03:14 -0400
            Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-07-12 00:35 -0700
              Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-12 04:02 -0400
                Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-07-12 09:08 +0000
                Re: jonesforth: taking up the challenge "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-07-13 06:16 -0400
              Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-12 03:02 -0500
                yourforth : progress report albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-08-01 11:00 +0000
                Re: yourforth : progress report "David N. Williams" <williams@umich.edu> - 2013-08-01 08:13 -0400
                Re: yourforth : progress report m.a.m.hendrix@tue.nl - 2013-08-01 07:22 -0700
                Re: yourforth : progress report albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-08-01 19:20 +0000
    Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-07-12 06:10 +0000
      Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 12:37 +0000
        Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-07-12 12:56 +0000
          Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 13:55 +0000
            Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-07-12 14:22 +0000
        Re: jonesforth: taking up the challenge Bill Richards <billrich@gmx.com> - 2013-07-12 14:30 +0000
          Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-07-12 11:12 -0700
            Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 19:01 +0000
              Re: jonesforth: taking up the challenge Paul Rubin <no.email@nospam.invalid> - 2013-07-12 23:05 -0700
                Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-18 19:38 +0000
    Re: jonesforth: taking up the challenge m.a.m.hendrix@tue.nl - 2013-07-12 00:10 -0700
  Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-12 16:55 +0000
    jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-18 19:18 +0000
      Re: jonesforth: taking up the challenge "Elizabeth D. Rather" <erather@forth.com> - 2013-07-18 11:18 -1000
      Re: jonesforth: taking up the challenge Bernd Paysan <bernd.paysan@gmx.de> - 2013-07-18 23:23 +0200
      Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-07-19 00:47 -0700
        Re: jonesforth: taking up the challenge Mark Wills <markrobertwills@yahoo.co.uk> - 2013-07-19 00:54 -0700
        Re: jonesforth: taking up the challenge albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-07-19 09:50 +0000
          Re: jonesforth: taking up the challenge Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-07-19 05:24 -0500
      Re: jonesforth: taking up the challenge anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-07-22 09:47 +0000

csiph-web