Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #17182
| From | Chris Hinsley <chris.hinsley@gmail.com> |
|---|---|
| Newsgroups | comp.lang.forth |
| Date | 2012-11-08 20:29 +0000 |
| Message-ID | <2012110820295238952-chrishinsley@gmailcom> (permalink) |
| References | (3 earlier) <2012110814312086525-chrishinsley@gmailcom> <2012110814515560672-chrishinsley@gmailcom> <509bf899$0$19587$882e7ee2@usenet-news.net> <2012110820040689990-chrishinsley@gmailcom> <2012110820173759604-chrishinsley@gmailcom> |
| Subject | Re: Genral advise and comments on callback style words |
On 2012-11-08 20:17:37 +0000, Chris Hinsley said: > On 2012-11-08 20:04:06 +0000, Chris Hinsley said: > >> On 2012-11-08 18:23:21 +0000, Josh Grams said: >> >>> Chris Hinsley wrote: <2012110814515560672-chrishinsley@gmailcom> >>>> On 2012-11-08 14:31:20 +0000, Chris Hinsley said: >>>>>> Josh Grams wrote: >>>>>>> >>>>>>> : LISTHEAD-ENUMERATE-FORWARDS ( u xt lh -- ln | 0 ) >>>>>>> TUCK SWAP 2>R >>>>>>> LISTHEAD-GET-HEAD BEGIN >>>>>>> 2DUP LISTNODE-GET-SUCC >>>>>>> DUP WHILE >>>>>>> 2R@ EXECUTE >>>>>>> ?DUP UNTIL ELSE NIP THEN >>>>>>> NIP NIP 2R> 2DROP ; >>>>> >>>>> Err, I'm not sure that works! You are skipping the first node. >>> >>> Yeah, sorry; I thought that's what your code was doing; see my response >>> to your first reply to mine. >>> >>>>> Isn't the 2DUP also blowing up the stack with an extra copy of the >>>>> original LH each time ? >>>> >>>> And it's not passing the user value into the callback at all ? >>> >>> In this case, EXECUTE is ( u ln lh xt -- ln | 0 ), right? So the 2DUP >>> provides two of those four items, and the 2R@ provides the other two. >>> >>> : LISTHEAD-ENUMERATE-FORWARDS ( u xt lh -- ln | 0 ) >>> TUCK SWAP 2>R LISTHEAD-GET-HEAD >>> BEGIN DUP WHILE ( u ln ) ( R: lh xt ) >>> 2DUP LISTNODE-GET-SUCC 2SWAP >>> 2R@ EXECUTE >>> ?DUP UNTIL THEN ( u ln ln|0 ) NIP NIP 2R> 2DROP ; >>> >>> --Josh > > Ah, no that crashes ! Reason is that you end up processing the end of > list marker, ie the bottom two thirds of the listheader as if it was an > actual node ! Nice try ! ;) > > Chris This however does work, but leaves me debateing that single PICK and ROT verses the 2SWAP 2DUP and the extra NIP needed at the ELSE ! \ ( u xt lh -- r | 0 ) \ xt api is ( u ln lh -- r | 0 ) : LISTHEAD-ENUMERATE-FORWARDS SWAP OVER 2>R LISTHEAD-GET-HEAD BEGIN 2DUP LISTNODE-GET-SUCC DUP WHILE 2SWAP 2R@ EXECUTE ?DUP UNTIL ELSE NIP THEN 2RDROP NIP NIP ; Chris
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 13:42 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 13:51 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 13:56 +0000
Re: Genral advise and comments on callback style words anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-07 13:55 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 15:29 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 15:35 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 15:32 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 15:37 +0000
Re: Genral advise and comments on callback style words anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-08 16:31 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 17:02 +0000
Re: Genral advise and comments on callback style words anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-08 17:07 +0000
Re: Genral advise and comments on callback style words Mark Wills <forthfreak@gmail.com> - 2012-11-09 01:16 -0800
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-07 15:41 +0000
Re: Genral advise and comments on callback style words anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-08 16:39 +0000
Re: Genral advise and comments on callback style words Brad Eckert <hwfwguy@gmail.com> - 2012-11-07 08:07 -0800
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 12:52 +0000
Re: Genral advise and comments on callback style words humptydumpty <ouatubi@gmail.com> - 2012-11-07 13:04 -0800
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 13:04 +0000
Re: Genral advise and comments on callback style words Mark Wills <forthfreak@gmail.com> - 2012-11-08 06:34 -0800
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 14:40 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 13:14 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 13:23 +0000
Re: Genral advise and comments on callback style words Ouatu Bogdan <ouatubi@gmail.com> - 2012-11-08 13:45 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 13:59 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 14:02 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 15:35 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 16:24 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 16:39 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 16:57 +0000
Re: Genral advise and comments on callback style words "Elizabeth D. Rather" <erather@forth.com> - 2012-11-08 07:56 -1000
Re: Genral advise and comments on callback style words Josh Grams <josh@qualdan.com> - 2012-11-08 13:54 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 14:06 +0000
Re: Genral advise and comments on callback style words Josh Grams <josh@qualdan.com> - 2012-11-08 18:04 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 19:36 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 19:38 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 19:42 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 14:11 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 14:31 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 14:51 +0000
Re: Genral advise and comments on callback style words Josh Grams <josh@qualdan.com> - 2012-11-08 18:23 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 19:57 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 20:04 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 20:17 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 20:29 +0000
Re: Genral advise and comments on callback style words Chris Hinsley <chris.hinsley@gmail.com> - 2012-11-08 20:50 +0000
csiph-web