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


Groups > comp.lang.forth > #35035 > unrolled thread

FORTH on the Advanced Placement Computer Science !

Started byvisualforth@rocketmail.com
First post2014-12-19 15:59 -0800
Last post2014-12-23 15:16 +0000
Articles 20 on this page of 340 — 34 participants

Back to article view | Back to comp.lang.forth


Contents

  FORTH on the Advanced Placement Computer Science ! visualforth@rocketmail.com - 2014-12-19 15:59 -0800
    Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-20 08:36 +0000
      Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-20 03:40 -0600
        Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-20 13:57 +0000
          Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-21 04:38 -0600
            Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-21 21:38 +0000
              Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-21 16:32 -0600
                Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-22 03:56 +0000
                  Re: FORTH on the Advanced Placement Computer Science ! mhx@iae.nl - 2014-12-22 00:53 -0800
                    Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-12-22 13:43 +0000
                      Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 02:57 +0000
                        Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 03:38 +0000
                    Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 02:42 +0000
                  Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2014-12-22 11:42 +0000
                    Re: FORTH on the Advanced Placement Computer Science ! rickman <gnuarm@gmail.com> - 2014-12-22 07:51 -0500
                      Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2014-12-22 15:59 +0000
                        Re: FORTH on the Advanced Placement Computer Science ! rickman <gnuarm@gmail.com> - 2014-12-23 11:17 -0500
                    Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 02:57 +0000
                    Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 06:09 +0000
                      Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2014-12-23 12:44 +0000
                        Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 13:12 +0000
                          Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 07:57 -0800
                            Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-23 10:31 -0600
                              Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 12:27 -0800
                                Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-23 15:04 -0600
                                  Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-24 19:28 -0800
                                    Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-25 02:43 -0600
                                      Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-12-25 20:36 +0000
                                    Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-25 11:43 +0000
                                      Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-12-25 20:40 +0000
                                        Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-26 13:37 +0000
                                          Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2014-12-26 11:40 -1000
                                  Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-05 19:33 +0000
                                    Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-05 21:31 -0800
                                      Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-05 21:33 -1000
                                        Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-06 10:24 +0000
                                          Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 10:13 -1000
                                            Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-07 00:41 +0000
                                              Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 14:59 -1000
                                        Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-06 11:53 +0000
                                          Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 10:16 -1000
                            Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 18:56 +0000
                              Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 12:31 -0800
                                Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2014-12-25 18:44 +0000
                                  Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2014-12-25 12:46 -0800
                                    Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-26 14:08 +0000
                                      Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2014-12-27 09:48 -0800
                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-27 12:05 -0800
                                    Re: FORTH on the Advanced Placement Computer Science ! visualforth@rocketmail.com - 2014-12-29 13:08 -0800
                            Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 20:13 +0000
                            Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 20:21 +0000
                              Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 12:39 -0800
                                Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-23 15:16 -0600
                                  Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 17:40 -0800
                                    Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-24 05:34 +0100
                                      Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 21:12 -0800
                                        Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-24 12:40 +0000
                                          Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-24 09:40 -0800
                                            Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2014-12-25 08:52 +0000
                                              Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-25 09:18 +0000
                                            Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-25 11:14 +0000
                                      Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-24 12:53 +0000
                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-24 09:15 -0800
                                          Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-25 12:07 +0000
                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-25 11:00 -0800
                                    Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-24 03:26 -0600
                                    Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2014-12-25 19:45 +0100
                                  Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-24 05:31 +0100
                                    Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-24 03:28 -0600
                                  Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-24 11:36 +0000
                                Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 22:08 +0000
                                  Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 14:27 -0800
                                    Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-23 22:58 +0000
                                      Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-23 15:38 -0800
                                        Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-25 02:37 +0000
                                          Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-24 19:16 -0800
                                            Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-25 06:30 +0000
                                              Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-24 22:49 -0800
                                                Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 07:15 +0000
                                                  Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-24 23:32 -0800
                                                    Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 10:39 +0000
                                                      Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 10:56 +0000
                                                    Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-26 01:21 +0100
                                                Re: FORTH on the Advanced Placement Computer Science ! mix <mix@test.net> - 2014-12-25 09:06 +0000
                                                  Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-25 09:39 -0800
                                                    Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2014-12-25 21:15 +0000
                                                      Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-25 23:34 +0100
                                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-25 17:09 -0800
                                                          Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-26 02:22 +0100
                                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-25 17:49 -0800
                                                              Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-26 05:22 +0100
                                                                Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-26 14:00 +0000
                                                                  Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-26 16:13 +0100
                                                                    Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-27 09:50 +0000
                                                                  Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-27 04:41 +0100
                                                                    Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-27 10:21 +0000
                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-30 11:50 -0800
                                                                  Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2014-12-31 15:02 +0100
                                                              Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-12-26 03:28 -0600
                                                              Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-26 10:35 +0000
                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-26 14:54 -0800
                                                                  Re: FORTH on the Advanced Placement Computer Science ! krishna.myneni@ccreweb.org - 2014-12-26 16:36 -0800
                                                                    Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-26 21:19 -0800
                                                                      Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-27 10:17 +0000
                                                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-27 12:09 -0800
                                                                          Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-01 21:07 +0100
                                                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-02 11:42 -0800
                                                                              Re: FORTH on the Advanced Placement Computer Science ! visualforth@rocketmail.com - 2015-01-02 12:45 -0800
                                                                              Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-02 23:42 +0100
                                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-04 14:05 -0800
                                                                                  Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-06 03:51 +0100
                                                                                    Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-05 20:02 -0800
                                                                                    Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-05 19:25 -1000
                                                                                      Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-07 14:52 -0800
                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-09 08:04 +0300
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 21:14 -1000
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-09 16:25 +0300
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-09 09:10 -1000
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-10 14:35 +0300
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-10 20:51 -1000
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2015-01-11 11:29 +0100
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-11 03:46 -0800
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2015-01-11 15:58 +0100
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2015-01-11 23:01 +0000
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-11 16:19 -0800
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-11 16:50 -0800
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-12 08:53 +0300
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-12 08:28 +0000
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2015-01-12 11:10 +0000
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! stephen@mpeforth.com (Stephen Pelc) - 2015-01-11 11:30 +0000
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-11 16:56 +0300
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2015-01-11 19:47 +0000
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-12 08:03 +0300
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! Coos Haak <chforth@hccnet.nl> - 2015-01-11 23:44 +0100
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-12 09:05 +0300
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-12 10:56 +0000
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-31 10:37 +0000
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Coos Haak <chforth@hccnet.nl> - 2015-01-09 23:01 +0100
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-10 14:43 +0300
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! Coos Haak <chforth@hccnet.nl> - 2015-01-11 23:45 +0100
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-12 09:09 +0300
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-09 10:52 -0800
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-10 15:31 +0300
                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-05 23:34 -0800
                                                                                      Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-05 22:22 -1000
                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-06 08:41 -0800
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 10:30 -1000
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-06 13:37 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 13:02 -1000
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-06 15:31 -0800
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-07 01:15 +0000
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 15:23 -1000
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-06 19:25 -0800
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 17:52 -1000
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-06 21:15 -0800
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-06 19:30 -1000
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2015-01-07 05:07 -0600
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-07 15:08 +0000
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2015-01-07 12:41 -0600
                                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Elizabeth D Rather <erather@forth.com> - 2015-01-07 11:09 -1000
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-07 08:02 -0800
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2015-01-07 11:52 +0000
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! humptydumpty <ouatubi@gmail.com> - 2015-01-09 14:14 -0800
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-09 20:04 -0800
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-10 20:57 -1000
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! humptydumpty <ouatubi@gmail.com> - 2015-01-11 08:31 -0800
                                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-11 19:59 +0000
                                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! humptydumpty <ouatubi@gmail.com> - 2015-01-11 22:51 -0800
                                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-15 22:34 -0800
                                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! humptydumpty <ouatubi@gmail.com> - 2015-01-16 08:56 -0800
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! Mark Wills <markwills1970@gmail.com> - 2015-01-07 01:54 -0800
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! stephen@mpeforth.com (Stephen Pelc) - 2015-01-07 12:33 +0000
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-07 14:25 +0000
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-07 16:37 +0000
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-07 15:02 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-07 06:00 -0800
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-07 08:49 -0800
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-07 10:06 -0800
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-07 18:09 +0000
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-07 10:16 -0800
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Alexander Skobelev <al.skobelev@gmail.com> - 2015-01-10 16:48 +0300
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-08 16:25 +0000
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 08:50 -1000
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! mhx@iae.nl - 2015-01-07 10:37 -0800
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-08 16:32 +0000
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Doug Hoffman <glidedog@gmail.com> - 2015-01-09 18:28 -0500
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! Doug Hoffman <glidedog@gmail.com> - 2015-01-07 07:31 -0500
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-07 16:24 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-08 14:02 +0000
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-08 09:26 -0800
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-08 17:44 +0000
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-08 11:01 -0800
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-07 17:18 +0000
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-07 09:44 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-08 09:31 +0000
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2015-01-11 03:37 +0000
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-07 15:21 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-07 18:19 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-08 09:40 +0000
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-08 14:49 +0000
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-08 17:02 -0800
                                                                                      Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2015-01-06 04:42 -0600
                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-06 08:13 -0800
                                                                                      Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-09 02:52 +0100
                                                                                        Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-08 18:34 -0800
                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-08 20:29 -0800
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 21:30 -1000
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-09 11:14 -0800
                                                                                              Standards (was FORTH on the ...) "Alex McDonald" <blog@rivadpm.com> - 2015-01-09 22:18 +0000
                                                                                                Re: Standards (was FORTH on the ...) Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-10 03:15 +0100
                                                                                                  Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-09 20:56 -0800
                                                                                                    Re: Standards (was FORTH on the ...) "WJ" <w_a_x_man@yahoo.com> - 2015-01-12 03:02 +0000
                                                                                                      Re: Standards (was FORTH on the ...) "Alex McDonald" <blog@rivadpm.com> - 2015-01-12 10:14 +0000
                                                                                                  Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-10 11:39 -0800
                                                                                                    Re: Standards (was FORTH on the ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-13 18:08 +0000
                                                                                                      Re: Standards (was FORTH on the ...) "Alex McDonald" <blog@rivadpm.com> - 2015-01-13 20:04 +0000
                                                                                                        Re: Standards (was FORTH on the ...) Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-14 02:43 +0100
                                                                                                        Re: Standards (was FORTH on the ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-14 13:34 +0000
                                                                                                          Re: Standards (was FORTH on the ...) "Alex McDonald" <blog@rivadpm.com> - 2015-01-15 02:03 +0000
                                                                                                            Re: Standards (was FORTH on the ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-15 12:03 +0000
                                                                                                              Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-15 06:47 -0800
                                                                                                  Re: Standards (was FORTH on the ...) "Alex McDonald" <blog@rivadpm.com> - 2015-01-10 19:15 +0000
                                                                                                Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-10 12:52 -0800
                                                                                                  Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-10 19:05 -0800
                                                                                                  Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-11 09:28 -0800
                                                                                                    Re: Standards (was FORTH on the ...) "Elizabeth D. Rather" <erather@forth.com> - 2015-01-11 14:45 -1000
                                                                                                      Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-12 18:28 -0800
                                                                                                        Re: Standards (was FORTH on the ...) Elizabeth D Rather <erather@forth.com> - 2015-01-12 17:12 -1000
                                                                                                          Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-12 20:55 -0800
                                                                                                            Re: Standards (was FORTH on the ...) Mark Wills <markwills1970@gmail.com> - 2015-01-13 03:48 -0800
                                                                                                              Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-13 06:05 -0800
                                                                                                                Re: Standards (was FORTH on the ...) Julian Fondren <julian.fondren@gmail.com> - 2015-01-13 06:34 -0800
                                                                                                                  Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-13 06:51 -0800
                                                                                                                  Re: Standards (was FORTH on the ...) Mark Wills <markwills1970@gmail.com> - 2015-01-13 08:03 -0800
                                                                                                                  Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-13 19:18 -0800
                                                                                                                Re: Standards (was FORTH on the ...) Mark Wills <markwills1970@gmail.com> - 2015-01-13 08:26 -0800
                                                                                                                  Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-13 09:54 -0800
                                                                                                                  Re: Standards (was FORTH on the ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-13 17:35 +0000
                                                                                                                    Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-13 18:19 -0800
                                                                                                                      Re: Standards (was FORTH on the ...) "WJ" <w_a_x_man@yahoo.com> - 2015-01-14 21:03 +0000
                                                                                                                        Re: Standards (was FORTH on the ...) "WJ" <w_a_x_man@yahoo.com> - 2015-01-14 21:07 +0000
                                                                                                                      Re: Standards (was FORTH on the ...) "Alex McDonald" <blog@rivadpm.com> - 2015-01-15 01:06 +0000
                                                                                                                        Re: Standards (was FORTH on the ...) Mark Wills <markwills1970@gmail.com> - 2015-01-15 00:52 -0800
                                                                                                                          Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-15 01:17 -0800
                                                                                                                          Re: Standards (was FORTH on the ...) "Elizabeth D. Rather" <erather@forth.com> - 2015-01-15 17:35 -1000
                                                                                                                          Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-15 20:38 -0800
                                                                                                                            Re: Standards (was FORTH on the ...) Alex McDonald <blog@rivadpm.com> - 2015-01-16 10:47 -0800
                                                                                                                              Re: Standards (was FORTH on the ...) Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-16 20:47 +0100
                                                                                                                                Re: Standards (was FORTH on the ...) krishna.myneni@ccreweb.org - 2015-01-16 14:37 -0800
                                                                                                                                  Re: Standards (was FORTH on the ...) krishna.myneni@ccreweb.org - 2015-01-16 17:26 -0800
                                                                                                                                  Re: Standards (was FORTH on the ...) Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-17 03:03 +0100
                                                                                                                  Re: Standards (was FORTH on the ...) "Elizabeth D. Rather" <erather@forth.com> - 2015-01-13 10:40 -1000
                                                                                                                    Re: Standards (was FORTH on the ...) hughaguilar96@gmail.com - 2015-01-13 19:04 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2015-01-11 23:24 +0000
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-09 18:09 +0100
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-09 09:31 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-09 11:16 -0800
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-09 22:38 +0100
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2015-01-16 13:44 -0800
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-17 02:39 +0100
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-17 13:37 +0000
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-17 18:44 +0100
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-18 12:57 +0000
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-18 22:48 +0100
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-19 03:10 +0100
                                                                                                                Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-18 18:41 -0800
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-17 11:45 +0000
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-17 17:57 -0800
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-18 14:57 -0800
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! awegel@arcor.de (Alexander Wegel) - 2015-01-19 00:49 +0100
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-19 15:04 +0000
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! beeflo <beeflobill@gmail.com> - 2015-01-19 16:24 -0800
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-20 03:26 +0100
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Melzzzzz <mel@zzzzz.com> - 2015-01-20 04:23 +0100
                                                                                                                Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-23 21:42 -0800
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-20 20:05 -0800
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-20 07:10 +0000
                                                                                                              Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-20 12:04 +0000
                                                                                                                Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-20 16:11 +0000
                                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-20 20:40 -0800
                                                                                                                Re: FORTH on the Advanced Placement Computer Science ! Jan Coombs <Jan-54 <jenfhaomndgfwutc@murmic.plus.com>> - 2015-01-20 23:29 +0000
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-20 20:00 -0800
                                                                                                            Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-21 01:55 -0800
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-22 00:05 -0800
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! Mark Wills <markwills1970@gmail.com> - 2015-01-19 07:42 -0800
                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-06 09:50 +0000
                                                                                    Re: FORTH on the Advanced Placement Computer Science ! Andrew Haley <andrew29@littlepinkcloud.invalid> - 2015-01-06 04:38 -0600
                                                                                    Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-09 21:34 -0800
                                                                                      Re: FORTH on the Advanced Placement Computer Science ! Michael Barry <barrym95838@yahoo.com> - 2015-01-09 23:28 -0800
                                                                                        Re: FORTH on the Advanced Placement Computer Science ! "hughaguilar96@yahoo.com" <hughaguilar96@gmail.com> - 2015-01-10 11:10 -0800
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! Michael Barry <barrym95838@yahoo.com> - 2015-01-11 00:49 -0800
                                                                                          Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-12 22:42 +0000
                                                                                            Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-12 17:33 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-12 19:17 -0800
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-12 21:06 -0800
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! Julian Fondren <julian.fondren@gmail.com> - 2015-01-13 04:08 -0800
                                                                                              Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-13 15:00 +0000
                                                                                                Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-13 18:45 -0800
                                                                                                  Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-13 21:12 -0800
                                                                                                    Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-16 20:41 -0800
                                                                                                      Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-21 20:42 +0000
                                                                                                        Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2015-01-21 23:19 -0800
                                                                                                          Re: FORTH on the Advanced Placement Computer Science ! Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-26 20:20 +0000
                                                                                Re: FORTH on the Advanced Placement Computer Science ! Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2015-01-05 10:31 +0000
                                                                      Re: FORTH on the Advanced Placement Computer Science ! krishna.myneni@ccreweb.org - 2014-12-27 07:16 -0800
                                                                        Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-27 13:08 -0800
                                                                    Re: FORTH on the Advanced Placement Computer Science ! Michael Barry <barrym95838@yahoo.com> - 2014-12-27 10:54 -0800
                                                                      Re: FORTH on the Advanced Placement Computer Science ! krishna.myneni@ccreweb.org - 2014-12-27 11:01 -0800
                                                                        Re: FORTH on the Advanced Placement Computer Science ! Michael Barry <barrym95838@yahoo.com> - 2014-12-27 21:25 -0800
                                                                          Re: FORTH on the Advanced Placement Computer Science ! krishna.myneni@ccreweb.org - 2014-12-29 05:20 -0800
                                                                    Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-04 11:53 +0000
                                                                      Re: FORTH on the Advanced Placement Computer Science ! mhx@iae.nl - 2015-01-04 05:02 -0800
                                                                      Re: FORTH on the Advanced Placement Computer Science ! krishna.myneni@ccreweb.org - 2015-01-04 08:00 -0800
                                                              Re: FORTH on the Advanced Placement Computer Science ! Coos Haak <chforth@hccnet.nl> - 2014-12-26 15:00 +0100
                                                    Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-26 13:35 +0000
                                                Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-25 10:55 +0000
                                            Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 07:08 +0000
                                              Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-24 23:27 -0800
                                                Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 10:34 +0000
                                                  Re: FORTH on the Advanced Placement Computer Science ! Paul Rubin <no.email@nospam.invalid> - 2014-12-25 09:47 -0800
                                                    Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 19:44 +0000
                                              Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-25 11:00 +0000
                                                Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 12:01 +0000
                                                  Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-25 16:03 +0000
                                                    Re: FORTH on the Advanced Placement Computer Science ! Tom O'Donnell <tod@nospam.com> - 2014-12-25 17:20 +0000
                                                      Re: FORTH on the Advanced Placement Computer Science ! hughaguilar96@gmail.com - 2014-12-26 21:53 -0800
                                                        Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2015-01-08 22:30 +0000
                                            Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2014-12-25 20:00 +0100
                                Re: FORTH on the Advanced Placement Computer Science ! "WJ" <w_a_x_man@yahoo.com> - 2014-12-25 08:36 +0000
                                Re: FORTH on the Advanced Placement Computer Science ! Bernd Paysan <bernd.paysan@gmx.de> - 2014-12-25 19:36 +0100
                          Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-05 19:09 +0000
                        Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-23 15:35 +0000
                          Re: FORTH on the Advanced Placement Computer Science ! "Alex McDonald" <blog@rivadpm.com> - 2015-01-05 19:16 +0000
                            Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-08 15:51 +0000
              Re: FORTH on the Advanced Placement Computer Science ! Michael Barry <barrym95838@yahoo.com> - 2014-12-21 16:02 -0800
                Re: FORTH on the Advanced Placement Computer Science ! visualforth@rocketmail.com - 2014-12-22 10:51 -0800
    Re: FORTH on the Advanced Placement Computer Science ! JUERGEN <epldfpga@aol.com> - 2014-12-22 05:47 -0800
      Re: FORTH on the Advanced Placement Computer Science ! rickman <gnuarm@gmail.com> - 2014-12-22 09:10 -0500
        Re: FORTH on the Advanced Placement Computer Science ! albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-12-22 15:23 +0000
          Re: FORTH on the Advanced Placement Computer Science ! anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-12-23 15:16 +0000

Page 9 of 17 — ← Prev page 1 … 7 8 [9] 10 11 … 17  Next page →


#35543

FromPaul Rubin <no.email@nospam.invalid>
Date2015-01-07 08:02 -0800
Message-ID<874ms2wpcm.fsf@jester.gateway.sonic.net>
In reply to#35533
Andrew Haley <andrew29@littlepinkcloud.invalid> writes:
> I don't think anyone would choose that API in a Forth graphics
> package. ...
> : DRAW-BOX ( top left bottom right)
>    2OVER AT  >X DRAW  >Y DRAW  >X DRAW  >Y DRAW ;

Nice :-)

[toc] | [prev] | [next] | [standalone]


#35536

From"WJ" <w_a_x_man@yahoo.com>
Date2015-01-07 11:52 +0000
Message-ID<m8j6m5$rr7$1@dont-email.me>
In reply to#35526
Paul Rubin wrote:

> 
> I'll append a Forth game that I wrote and posted last year: I'm happy to
> hear any criticisms, about excessive stack noise or anything else.
> 

> ================================================================
> #! /usr/bin/gforth
> \ fifteen puzzle, tested with gforth 0.7.0.  Have fun.
> 64 constant ATSIGN			\ ascii atsign @
> variable move#      1 move# !		\ move counter
> 
> create board 16 cells allot
> : board& ( n -- addr ) cells board + ;
> : board@ ( n -- value ) board& @ ;
> : board! ( v n -- ) board& ! ;
> 
> \ show the board
> : hexn ( n -- ) base @ swap hex . base ! ;
> : square-show ( n -- )  \ show n as a hex digit or @ for zero
>     dup 0= if drop ATSIGN emit space else hexn then ;
> : bs.1 ( n -- n ) 4 0 do dup board@ square-show 1+ loop ;
> : board-show ( -- ) cr 0 4 0 do  bs.1 cr loop drop ;
> : bs ( -- ) board-show ;
> 
> \ find the empty cell next to a specified cell, if it exists.
> : ck@.1 ( t n -- n | t ) dup board@ 0<> if drop else nip then ;
> : ck@   ( t f n -- n | t ) swap if ck@.1 else drop then ;
> : up?    ( t n -- n|t ) dup 4 >= swap 4 - ck@  ;
> : down?  ( t n -- n|t ) dup 12 < swap 4 + ck@  ;
> : left?  ( t n -- n|t ) dup 4 mod 0<> swap 1- ck@  ;
> : right? ( t n -- n|t ) dup 4 mod 3 <> swap 1+ ck@  ;
> \ find empty square next to src, or return -1 if no empty square.
> : get-empty ( src -- dst ) >r -1 r@ up? r@ down? r@ left? r> right? ;
> 
> \ move piece from location to adjacent empty square, if it's there.
> : invalid ( src dst -- ) ." ?invalid " . . cr ;
> : valid ( src dst ) 2dup board@ >r board@ swap board! r> swap board! ;
> : move.1 ( src -- src dst valid ) dup get-empty dup -1 <> ;
> \ attempt move, print error message if invalid (used during play)
> : bump-move# ( -- ) 1 move# +! ;
> : move-noisy ( src -- ) move.1 if valid bump-move# else invalid then ;
> \ attempt move, ignore if invalid (used during shuffling)
> : move-quiet ( src -- ) move.1 if valid else 2drop then ;
> 
> \ read hex digit from keyboard
> : decimal? ( ch -- f ) '0 '9 1+ within ; \ check for decimal digit
> : dconvert ( ch -- n ) dup decimal? if '0 - else drop -1 then ;
> : hexletter? ( ch -- f ) 'a 'g within ;	\ check for hex letter
> : hconvert ( ch -- n ) dup hexletter? if 'a - 10 + else drop -1 then ;
> : conv-digit ( ch -- n ) dup dconvert swap hconvert and ;
> : keydigit ( -- n ) begin key conv-digit dup -1 = while repeat ;
> 
> \ Marsaglia multiply-with-carry (MWC) prng.  not well tested, don't rely on.
> 1234 value m_z    2345 value m_w
> : random.1 ( n -- n ) 65536 /mod swap 36969 * + ;
> : get-random ( -- n ) m_z random.1 to m_z  m_w random.1 to m_w
>     m_z 16 lshift m_w + ;
> : randomize ( -- ) utime drop 65536 /mod to m_z to m_w ;
> : randnibble ( -- n ) get-random 1237 mod $f and ; \ slightly biased but ok
> 
> : random-move ( -- ) randnibble move-quiet  ;
> : shuffle ( -- ) \ shuffle whole board by attemping many random moves.
>     20000 0 do random-move loop ;
> : timed-shuffle utime shuffle utime 2swap d- d. ;   \ just for jollies
> 
> \ play the game
> : lose? ( sq -- f ) dup 1+ $f and swap board@ <> ;
> : win? ( -- f ) -1 16 0 do i lose? if 1+ leave then loop ;
> : xfind ( n -- loc )  \ find location of square containing n
>     16 0 do i board@ over = if drop i leave then loop ;
> : congrats ( -- ) ." congrats you have won." cr board-show ;
> : nmoves ( -- )  ." move# " move# @ . cr ;
> : play.1 ( -- ) nmoves keydigit xfind move-noisy  ;
> : play.2 ( -- )  begin board-show play.1 win? until congrats ;
> : board-init 16 0 do i 1+ $f and i board! loop ;
> : intro ( -- )
>     ." @ is the empty square, enter adjacent tile # to move it." cr
>     ." Your goal is: " board-show cr ." Start:" ;
> \ : cheat board-init 14 move-noisy play.2 ;
> : play ( -- ) board-init intro shuffle play.2 ;
> 
> randomize play
> bye

Gauche Scheme:

(use gauche.array)
(use srfi-27)
(use srfi-42)

(define winning-position
  #,(<array> (0 4 0 4)
    1 2 3 4
    5 6 7 8
    9 a b c
    d e f _))

(define board (array-map identity winning-position))

;; Location of empty square.
(define empty #(3 3))

(define (show-board)
  (print "+---------------+")
  (dotimes (row 4)
    (dotimes (col 4)
      (format #t "| ~a " (array-ref board row col)))
    (print "|")
    (print "+---------------+")))

(define (adjacent? a b)
  (define offset (vector-map (^(m n) (abs (- m n))) a b))
  (= 1 (apply + (vector->list offset))))

(define (move-piece piece)
  (define location
    (first-ec #f
      (: i 4) (: j 4)
      (if (eq? piece (array-ref board i j)))
      (vector i j)))
  (and location (adjacent? location empty)
    (begin
      (array-set! board location '_)
      (array-set! board empty piece)
      (set! empty location))))

(define (shuffle-board)
  (dotimes (4000)
    (move-piece
      (array-ref board (random-integer 4) (random-integer 4)))))

(define (play)
  (set! board (array-map identity winning-position))
  (set! empty #(3 3))
  (shuffle-board)
  (let run ()
    (show-board)
    (display "Enter piece to move (q to quit): ") (flush)
    (let1 piece (read)
      (unless (eq? 'q piece)
        (if (move-piece piece)
          (if (equal? winning-position board)
            (begin (show-board) (print "\nYou won!"))
            (run))
          (begin
            (print "\nInvalid move.\n")
            (run)))))))

gosh> (play)
+---------------+
| e | 3 | _ | f |
+---------------+
| 1 | c | a | 6 |
+---------------+
| 7 | 9 | b | d |
+---------------+
| 5 | 8 | 2 | 4 |
+---------------+
Enter piece to move (q to quit): 3
+---------------+
| e | _ | 3 | f |
+---------------+
| 1 | c | a | 6 |
+---------------+
| 7 | 9 | b | d |
+---------------+
| 5 | 8 | 2 | 4 |
+---------------+

...

+---------------+
| 1 | 2 | 3 | 4 |
+---------------+
| 5 | 6 | 7 | 8 |
+---------------+
| 9 | a | b | _ |
+---------------+
| d | e | f | c |
+---------------+
Enter piece to move (q to quit): c
+---------------+
| 1 | 2 | 3 | 4 |
+---------------+
| 5 | 6 | 7 | 8 |
+---------------+
| 9 | a | b | c |
+---------------+
| d | e | f | _ |
+---------------+

You won!

[toc] | [prev] | [next] | [standalone]


#35677

Fromhumptydumpty <ouatubi@gmail.com>
Date2015-01-09 14:14 -0800
Message-ID<93b1c15c-4b83-4110-8ea0-5076293cda6e@googlegroups.com>
In reply to#35526
On Wednesday, January 7, 2015 at 7:16:03 AM UTC+2, Paul Rubin wrote:
> "Elizabeth D. Rather"  writes:
> >> To communicate with the high level, sure; but a VARIABLE intended for
> >> use by just one word seems like a bug magnet.
> > Who's talking about a VARIABLE for just one word? We were talking
> > about a graphics package that keeps various operating parameters in
> > VARIABLEs or other data structures.  Given that you're doing it that
> > way, your draw-rectangle word would use those and not need locals *or*
> > tortuous stack fiddling. 
> 
> What's wrong with draw-rectangle with the API that I described?  Here's
> another example we've talked about before: multiply two complex numbers.
> Locals version:
> 
>     : c* { a b c d -- ac-bd ad+bc } a c * b d * - a d * b c * + ;
> 
> No-locals version:
>     
>     : ac-bd ( a b c d -- ac-bd ) >r rot * swap r> * - ;
>     : ad+bc ( a b c d -- ad+bc ) -rot * >r * r> + ;
>     : z* ( a b c d -- ac-bd ad+bc) 2over 2over ad+bc >r ac-bd r> ;
> 
> Last time we discussed this I asked how Chuck would have done it, and
> the answer was that he would drop to assembler.  So much for Forth's
> universality ;-).
> 
> > The difficulty with sample definitions like you see on c.l.f is that
> > there is no context as there would be in an application.
> 
> I'll append a Forth game that I wrote and posted last year: I'm happy to
> hear any criticisms, about excessive stack noise or anything else.
> 
> > Well, I'm not sure either what "expert" code you've looked at or what
> > your threshold for "ugly" stack juggling is. ... I rarely see code by
> > the programmers I work with whose stack manipulations are difficult to
> > follow.
> 
> How about the word I posted by Alex, that swaps two pointers.  I
> don't know I'd call it "difficult", but it wasn't exactly obvious
> to me what it was doing.  I can never remember which way ROT rotates
> so I always have to test (and I use -ROT more than ROT).
> 
> ================================================================
> #! /usr/bin/gforth
> \ fifteen puzzle, tested with gforth 0.7.0.  Have fun.
> 64 constant ATSIGN			\ ascii atsign @
> variable move#      1 move# !		\ move counter
> 
> create board 16 cells allot
> : board& ( n -- addr ) cells board + ;
> : board@ ( n -- value ) board& @ ;
> : board! ( v n -- ) board& ! ;
> 
> \ show the board
> : hexn ( n -- ) base @ swap hex . base ! ;
> : square-show ( n -- )  \ show n as a hex digit or @ for zero
>     dup 0= if drop ATSIGN emit space else hexn then ;
> : bs.1 ( n -- n ) 4 0 do dup board@ square-show 1+ loop ;
> : board-show ( -- ) cr 0 4 0 do  bs.1 cr loop drop ;
> : bs ( -- ) board-show ;
> 
> \ find the empty cell next to a specified cell, if it exists.
> : ck@.1 ( t n -- n | t ) dup board@ 0<> if drop else nip then ;
> : ck@   ( t f n -- n | t ) swap if ck@.1 else drop then ;
> : up?    ( t n -- n|t ) dup 4 >= swap 4 - ck@  ;
> : down?  ( t n -- n|t ) dup 12 < swap 4 + ck@  ;
> : left?  ( t n -- n|t ) dup 4 mod 0<> swap 1- ck@  ;
> : right? ( t n -- n|t ) dup 4 mod 3 <> swap 1+ ck@  ;
> \ find empty square next to src, or return -1 if no empty square.
> : get-empty ( src -- dst ) >r -1 r@ up? r@ down? r@ left? r> right? ;
> 
> \ move piece from location to adjacent empty square, if it's there.
> : invalid ( src dst -- ) ." ?invalid " . . cr ;
> : valid ( src dst ) 2dup board@ >r board@ swap board! r> swap board! ;
> : move.1 ( src -- src dst valid ) dup get-empty dup -1 <> ;
> \ attempt move, print error message if invalid (used during play)
> : bump-move# ( -- ) 1 move# +! ;
> : move-noisy ( src -- ) move.1 if valid bump-move# else invalid then ;
> \ attempt move, ignore if invalid (used during shuffling)
> : move-quiet ( src -- ) move.1 if valid else 2drop then ;
> 
> \ read hex digit from keyboard
> : decimal? ( ch -- f ) '0 '9 1+ within ; \ check for decimal digit
> : dconvert ( ch -- n ) dup decimal? if '0 - else drop -1 then ;
> : hexletter? ( ch -- f ) 'a 'g within ;	\ check for hex letter
> : hconvert ( ch -- n ) dup hexletter? if 'a - 10 + else drop -1 then ;
> : conv-digit ( ch -- n ) dup dconvert swap hconvert and ;
> : keydigit ( -- n ) begin key conv-digit dup -1 = while repeat ;
> 
> \ Marsaglia multiply-with-carry (MWC) prng.  not well tested, don't rely on.
> 1234 value m_z    2345 value m_w
> : random.1 ( n -- n ) 65536 /mod swap 36969 * + ;
> : get-random ( -- n ) m_z random.1 to m_z  m_w random.1 to m_w
>     m_z 16 lshift m_w + ;
> : randomize ( -- ) utime drop 65536 /mod to m_z to m_w ;
> : randnibble ( -- n ) get-random 1237 mod $f and ; \ slightly biased but ok
> 
> : random-move ( -- ) randnibble move-quiet  ;
> : shuffle ( -- ) \ shuffle whole board by attemping many random moves.
>     20000 0 do random-move loop ;
> : timed-shuffle utime shuffle utime 2swap d- d. ;   \ just for jollies
> 
> \ play the game
> : lose? ( sq -- f ) dup 1+ $f and swap board@ <> ;
> : win? ( -- f ) -1 16 0 do i lose? if 1+ leave then loop ;
> : xfind ( n -- loc )  \ find location of square containing n
>     16 0 do i board@ over = if drop i leave then loop ;
> : congrats ( -- ) ." congrats you have won." cr board-show ;
> : nmoves ( -- )  ." move# " move# @ . cr ;
> : play.1 ( -- ) nmoves keydigit xfind move-noisy  ;
> : play.2 ( -- )  begin board-show play.1 win? until congrats ;
> : board-init 16 0 do i 1+ $f and i board! loop ;
> : intro ( -- )
>     ." @ is the empty square, enter adjacent tile # to move it." cr
>     ." Your goal is: " board-show cr ." Start:" ;
> \ : cheat board-init 14 move-noisy play.2 ;
> : play ( -- ) board-init intro shuffle play.2 ;
> 
> randomize play
> bye

Hi!

Looking at game code I have a feeling like I see a centipede:
a amazing creature but hardly I wish to touch it.

This is what I question:

1. Too much words, too less meaning associated with. If I want
to see the meaning of one word I must check  a few (more) others recursively.
2. Lack of named constants like BOARDSIZE ROWS COLS.
3. Words that are used just one time, like ATSIGN.
4. Unhappy choice to use cells for board state.
5. Strategy to move a piece to adjacent square if empty.

What I coded for 15-game (tested on GForth 0.7.3):

8<--- 
' noop IS bootmessage
        4 CONSTANT COLS
        4 CONSTANT ROWS
        CREATE Board COLS ROWS * chars allot
: init-board    ( -- )
        s" 123456789ABCDEF*" Board swap move
;
: .board        ( -- )
        ROWS 0 DO COLS 0 DO J ROWS * I + Board + c@ emit LOOP cr LOOP
;
: chars-exchange        ( a0 a1 -- ; exchange chars at addresses )
        over c@ over c@ swap rot c! swap c!
;
: indexes-exchange      ( i0 i1 --  ; exchange chars at indexes on Board )
        Board + swap Board + chars-exchange
;
: locate*       ( -- index ; return INDEX of * in Board )
        0 BEGIN dup Board + c@ [CHAR] * <> WHILE 1+ REPEAT
;
: left          ( -- )
        locate* dup dup COLS mod 0 <> IF 1- THEN indexes-exchange
;
: right         ( -- )
        locate* dup dup COLS mod COLS 1- <> IF 1+ THEN indexes-exchange
;
: up            ( -- )
        locate* dup dup ROWS / 0 <> IF COLS - THEN indexes-exchange
;
: down          ( -- )
        locate* dup dup ROWS / ROWS 1- <> IF COLS + THEN indexes-exchange
;
: refresh       ( -- )  page 0 0 AT-XY .board ;
: l             ( -- )  left refresh ;
: r             ( -- )  right refresh ;
: u             ( -- )  up refresh ;
: d             ( -- )  down refresh ;

include random.fs

CREATE Moves ' left , ' down , ' up , ' right ,
: n             ( -- )
        init-board 99 0 DO 4 random cells Moves + perform LOOP refresh
;
: h             ( -- )
        ." Moves: l left r right u up d down; n new-game; refresh refresh board; h help; bye exit game." cr
;
n h
8<---

Gamer can use sequences of commands like: r r d <Enter>.

Have a nice day,
humptydumpty

[toc] | [prev] | [next] | [standalone]


#35694

FromPaul Rubin <no.email@nospam.invalid>
Date2015-01-09 20:04 -0800
Message-ID<877fwvqo1v.fsf@jester.gateway.sonic.net>
In reply to#35677
humptydumpty <ouatubi@gmail.com> writes:
> Looking at game code I have a feeling like I see a centipede:
> a amazing creature but hardly I wish to touch it.
>
> This is what I question:
>
> 1. Too much words, too less meaning associated with. If I want
> to see the meaning of one word I must check  a few (more) others recursively.
> 2. Lack of named constants like BOARDSIZE ROWS COLS.
> 3. Words that are used just one time, like ATSIGN.
> 4. Unhappy choice to use cells for board state.
> 5. Strategy to move a piece to adjacent square if empty.

Thanks for those comments.  It was my second Forth program longer than a
few lines (I don't dare say what the first one was) so the critique is
much appreciated.

Overall it took me quite a lot of effort to write the program, compared
to what it would have taken me with another language.  That's probably a
sign that there's something I wasn't doing right, that made it harder
than it should have been.

Your versions flows quite naturally and while I see obvious factoring
opportunities in it, maybe it is best to leave them there.  Your
criticism #1 I think basically is that the code I posted is
overfactored, similar to something Andrew Haley said.  I'd always heard
factoring was a good thing, but maybe I overdid it.  I thought it made
the code clearer but it also may have slowed down writing it.

[toc] | [prev] | [next] | [standalone]


#35702

From"Elizabeth D. Rather" <erather@forth.com>
Date2015-01-10 20:57 -1000
Message-ID<ldOdnaVtVL4igy_JnZ2dnUU7-N-dnZ2d@supernews.com>
In reply to#35694
On 1/9/15 6:04 PM, Paul Rubin wrote:
> humptydumpty <ouatubi@gmail.com> writes:
>> Looking at game code I have a feeling like I see a centipede:
>> a amazing creature but hardly I wish to touch it.
>>
>> This is what I question:
>>
>> 1. Too much words, too less meaning associated with. If I want
>> to see the meaning of one word I must check  a few (more) others recursively.
>> 2. Lack of named constants like BOARDSIZE ROWS COLS.
>> 3. Words that are used just one time, like ATSIGN.
>> 4. Unhappy choice to use cells for board state.
>> 5. Strategy to move a piece to adjacent square if empty.
>
> Thanks for those comments.  It was my second Forth program longer than a
> few lines (I don't dare say what the first one was) so the critique is
> much appreciated.
>
> Overall it took me quite a lot of effort to write the program, compared
> to what it would have taken me with another language.  That's probably a
> sign that there's something I wasn't doing right, that made it harder
> than it should have been.
>
> Your versions flows quite naturally and while I see obvious factoring
> opportunities in it, maybe it is best to leave them there.  Your
> criticism #1 I think basically is that the code I posted is
> overfactored, similar to something Andrew Haley said.  I'd always heard
> factoring was a good thing, but maybe I overdid it.  I thought it made
> the code clearer but it also may have slowed down writing it.

Some guidelines for factoring: do it if...

* the operation has a logical unity to it

* it's likely to be used more than once in the application

* it's something you'd really like to test in isolation (e.g., the 
interior of a loop, individual components of a CASE statement, etc.).

One of my colleagues once suggested that if you can think of a good name 
for it, it should be factored; if you have trouble thinking of a name, 
maybe you don't have the factoring quite right.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


#35716

Fromhumptydumpty <ouatubi@gmail.com>
Date2015-01-11 08:31 -0800
Message-ID<35eb95a4-c31a-4381-aad0-94813f7ae797@googlegroups.com>
In reply to#35694
duminică, 11 ianuarie 2015, 05:31:09 UTC+2, Paul Rubin a scris:
> humptydumpty <ouatubi@gmail.com> writes:
> > Looking at game code I have a feeling like I see a centipede:
> > a amazing creature but hardly I wish to touch it.
> >
> > This is what I question:
> >
> > 1. Too much words, too less meaning associated with. If I want
> > to see the meaning of one word I must check  a few (more) others recursively.
> > 2. Lack of named constants like BOARDSIZE ROWS COLS.
> > 3. Words that are used just one time, like ATSIGN.
> > 4. Unhappy choice to use cells for board state.
> > 5. Strategy to move a piece to adjacent square if empty.
> 
> Thanks for those comments.  It was my second Forth program longer than a
> few lines (I don't dare say what the first one was) so the critique is
> much appreciated.
> 
> Overall it took me quite a lot of effort to write the program, compared
> to what it would have taken me with another language.  That's probably a
> sign that there's something I wasn't doing right, that made it harder
> than it should have been.
> 
> Your versions flows quite naturally and while I see obvious factoring
> opportunities in it, maybe it is best to leave them there.  Your
> criticism #1 I think basically is that the code I posted is
> overfactored, similar to something Andrew Haley said.  I'd always heard
> factoring was a good thing, but maybe I overdid it.  I thought it made
> the code clearer but it also may have slowed down writing it.

You welcome!

I think that 'locate*' should not be rewrited 'locate ( char -- index )
to support something'[CHAR] * locate', not even for 'factoring' sake.
It would be an overdoing.

Have a nice day,
humptydumpty

[toc] | [prev] | [next] | [standalone]


#35721

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2015-01-11 19:59 +0000
Message-ID<m8ukmg$gk5$1@dont-email.me>
In reply to#35716
On 11/01/2015 16:31, humptydumpty wrote:
> duminică, 11 ianuarie 2015, 05:31:09 UTC+2, Paul Rubin a scris:
>> humptydumpty <ouatubi@gmail.com> writes:
>>> Looking at game code I have a feeling like I see a centipede:
>>> a amazing creature but hardly I wish to touch it.
>>>
>>> This is what I question:
>>>
>>> 1. Too much words, too less meaning associated with. If I want
>>> to see the meaning of one word I must check  a few (more) others recursively.
>>> 2. Lack of named constants like BOARDSIZE ROWS COLS.
>>> 3. Words that are used just one time, like ATSIGN.
>>> 4. Unhappy choice to use cells for board state.
>>> 5. Strategy to move a piece to adjacent square if empty.
>>
>> Thanks for those comments.  It was my second Forth program longer than a
>> few lines (I don't dare say what the first one was) so the critique is
>> much appreciated.
>>
>> Overall it took me quite a lot of effort to write the program, compared
>> to what it would have taken me with another language.  That's probably a
>> sign that there's something I wasn't doing right, that made it harder
>> than it should have been.
>>
>> Your versions flows quite naturally and while I see obvious factoring
>> opportunities in it, maybe it is best to leave them there.  Your
>> criticism #1 I think basically is that the code I posted is
>> overfactored, similar to something Andrew Haley said.  I'd always heard
>> factoring was a good thing, but maybe I overdid it.  I thought it made
>> the code clearer but it also may have slowed down writing it.
>
> You welcome!
>
> I think that 'locate*' should not be rewrited 'locate ( char -- index )
> to support something'[CHAR] * locate', not even for 'factoring' sake.
> It would be an overdoing.
>
> Have a nice day,
> humptydumpty
>

Why do you need locate*, why not just remember the index of the empty 
cell in a variable? The same comment is applicable to Paul's program.

-- 
Gerry

[toc] | [prev] | [next] | [standalone]


#35740

Fromhumptydumpty <ouatubi@gmail.com>
Date2015-01-11 22:51 -0800
Message-ID<ca5ebf44-ccbb-4eaa-a73f-ae3c9381d489@googlegroups.com>
In reply to#35721
On Sunday, January 11, 2015 at 9:59:42 PM UTC+2, Gerry wrote:
> On 11/01/2015 16:31, humptydumpty wrote:
> > duminică, 11 ianuarie 2015, 05:31:09 UTC+2, Paul Rubin a scris:
> >> humptydumpty <ouatubi@gmail.com> writes:
> >>> Looking at game code I have a feeling like I see a centipede:
> >>> a amazing creature but hardly I wish to touch it.
> >>>
> >>> This is what I question:
> >>>
> >>> 1. Too much words, too less meaning associated with. If I want
> >>> to see the meaning of one word I must check  a few (more) others recursively.
> >>> 2. Lack of named constants like BOARDSIZE ROWS COLS.
> >>> 3. Words that are used just one time, like ATSIGN.
> >>> 4. Unhappy choice to use cells for board state.
> >>> 5. Strategy to move a piece to adjacent square if empty.
> >>
> >> Thanks for those comments.  It was my second Forth program longer than a
> >> few lines (I don't dare say what the first one was) so the critique is
> >> much appreciated.
> >>
> >> Overall it took me quite a lot of effort to write the program, compared
> >> to what it would have taken me with another language.  That's probably a
> >> sign that there's something I wasn't doing right, that made it harder
> >> than it should have been.
> >>
> >> Your versions flows quite naturally and while I see obvious factoring
> >> opportunities in it, maybe it is best to leave them there.  Your
> >> criticism #1 I think basically is that the code I posted is
> >> overfactored, similar to something Andrew Haley said.  I'd always heard
> >> factoring was a good thing, but maybe I overdid it.  I thought it made
> >> the code clearer but it also may have slowed down writing it.
> >
> > You welcome!
> >
> > I think that 'locate*' should not be rewrited 'locate ( char -- index )
> > to support something'[CHAR] * locate', not even for 'factoring' sake.
> > It would be an overdoing.
> >
> > Have a nice day,
> > humptydumpty
> >
> 
> Why do you need locate*, why not just remember the index of the empty 
> cell in a variable? The same comment is applicable to Paul's program.
> 
> -- 
> Gerry

Hi!

I think it is superfluous.  Economy of states space.  Not need to keep in
my head another variable. Not much overhead added by searching 16 chars array.

Have a nice day,
humptydumpty

[toc] | [prev] | [next] | [standalone]


#35838

FromPaul Rubin <no.email@nospam.invalid>
Date2015-01-15 22:34 -0800
Message-ID<874mrrnsi9.fsf@jester.gateway.pace.com>
In reply to#35716
humptydumpty <ouatubi@gmail.com> writes:
> I think that 'locate*' should not be rewrited 'locate ( char -- index )
> to support something'[CHAR] * locate', not even for 'factoring' sake.
> It would be an overdoing.

Here's some of the factoring I was thinking of.  I don't know if the
factored version is better or worse than the unfactored one.  Basically
the * index is split into coordinates to simplify the left/right/up/down
words.  It may be possible to press this idea to clean up the code
further, since it now uses both representations in a messy way.
====
\ refactored version
' noop IS bootmessage
        4 CONSTANT COLS
        4 CONSTANT ROWS
        CREATE Board COLS ROWS * chars allot
: init-board    ( -- )
        s" 123456789ABCDEF*" Board swap move
;
: .board        ( -- )
        CR ROWS 0 DO COLS 0 DO J ROWS * I + Board + c@ emit LOOP cr LOOP
;
: chars-exchange        ( a0 a1 -- ; exchange chars at addresses )
        over c@ over c@ swap rot c! swap c!
;
: indexes-exchange      ( i0 i1 --  ; exchange chars at indexes on Board )
        Board + swap Board + chars-exchange
;
: locate*       ( -- index ; return INDEX of * in Board )
        0 BEGIN dup Board + c@ [CHAR] * <> WHILE 1+ REPEAT
;

\ x,y coordinates of * in board
: locate-xy ( -- row col )  locate* dup ROWS / swap COLS mod ;

\ check that 0 <= n < limit
: xy-check.1 ( n limit -- flag ) over > swap 0 >= and ;

\ check that x,y is in bounds
: xy-check ( row col -- flag ) COLS xy-check.1 swap ROWS xy-check.1 and ;

\ swap piece at row,col with empty square.  precondition: move is valid
: m-move ( row col -- ) swap rows * + locate* indexes-exchange ;

\ check if move to row,col is valid and if yes, make the move.
: check-move ( row col -- ) 2dup xy-check if m-move else 2drop then ;

\ move to (row+drow, col+dcol) if move is valid.
: move-by ( drow dcol -- ) locate-xy rot + -rot + swap check-move ;

: left  ( -- )  0 -1 move-by ;
: right ( -- )  0  1 move-by ;
: up    ( -- ) -1  0 move-by ;
: down  ( -- )  1  0 move-by ;

: refresh       ( -- )  page 0 0 AT-XY .board ;
: l             ( -- )  left refresh ;
: r             ( -- )  right refresh ;
: u             ( -- )  up refresh ;
: d             ( -- )  down refresh ;

include random.fs

CREATE Moves ' left , ' down , ' up , ' right ,
: n             ( -- )
        init-board 99 0 DO 4 random cells Moves + perform LOOP refresh
;
: h             ( -- )
        ." Moves: l left r right u up d down; n new-game; refresh "
." refresh board; h help; bye exit game." cr
;
n h

[toc] | [prev] | [next] | [standalone]


#35845

Fromhumptydumpty <ouatubi@gmail.com>
Date2015-01-16 08:56 -0800
Message-ID<fb39648f-33ec-4bc1-a3a6-aa29806b96b6@googlegroups.com>
In reply to#35838
On Friday, January 16, 2015 at 8:34:24 AM UTC+2, Paul Rubin wrote:
> humptydumpty <ouatubi@gmail.com> writes:
> > I think that 'locate*' should not be rewrited 'locate ( char -- index )
> > to support something'[CHAR] * locate', not even for 'factoring' sake.
> > It would be an overdoing.
> 
> Here's some of the factoring I was thinking of.  I don't know if the
> factored version is better or worse than the unfactored one.  Basically
> the * index is split into coordinates to simplify the left/right/up/down
> words.  It may be possible to press this idea to clean up the code
> further, since it now uses both representations in a messy way.
> ====
> \ refactored version
> ' noop IS bootmessage
>         4 CONSTANT COLS
>         4 CONSTANT ROWS
>         CREATE Board COLS ROWS * chars allot
> : init-board    ( -- )
>         s" 123456789ABCDEF*" Board swap move
> ;
> : .board        ( -- )
>         CR ROWS 0 DO COLS 0 DO J ROWS * I + Board + c@ emit LOOP cr LOOP
> ;
> : chars-exchange        ( a0 a1 -- ; exchange chars at addresses )
>         over c@ over c@ swap rot c! swap c!
> ;
> : indexes-exchange      ( i0 i1 --  ; exchange chars at indexes on Board )
>         Board + swap Board + chars-exchange
> ;
> : locate*       ( -- index ; return INDEX of * in Board )
>         0 BEGIN dup Board + c@ [CHAR] * <> WHILE 1+ REPEAT
> ;
> 
> \ x,y coordinates of * in board
> : locate-xy ( -- row col )  locate* dup ROWS / swap COLS mod ;
> 
> \ check that 0 <= n < limit
> : xy-check.1 ( n limit -- flag ) over > swap 0 >= and ;
> 
> \ check that x,y is in bounds
> : xy-check ( row col -- flag ) COLS xy-check.1 swap ROWS xy-check.1 and ;
> 
> \ swap piece at row,col with empty square.  precondition: move is valid
> : m-move ( row col -- ) swap rows * + locate* indexes-exchange ;
> 
> \ check if move to row,col is valid and if yes, make the move.
> : check-move ( row col -- ) 2dup xy-check if m-move else 2drop then ;
> 
> \ move to (row+drow, col+dcol) if move is valid.
> : move-by ( drow dcol -- ) locate-xy rot + -rot + swap check-move ;
> 
> : left  ( -- )  0 -1 move-by ;
> : right ( -- )  0  1 move-by ;
> : up    ( -- ) -1  0 move-by ;
> : down  ( -- )  1  0 move-by ;
> 
> : refresh       ( -- )  page 0 0 AT-XY .board ;
> : l             ( -- )  left refresh ;
> : r             ( -- )  right refresh ;
> : u             ( -- )  up refresh ;
> : d             ( -- )  down refresh ;
> 
> include random.fs
> 
> CREATE Moves ' left , ' down , ' up , ' right ,
> : n             ( -- )
>         init-board 99 0 DO 4 random cells Moves + perform LOOP refresh
> ;
> : h             ( -- )
>         ." Moves: l left r right u up d down; n new-game; refresh "
> ." refresh board; h help; bye exit game." cr
> ;
> n h


Hi!

Commentaries:

> 
> \ x,y coordinates of * in board
> : locate-xy ( -- row col )  locate* dup ROWS / swap COLS mod ;
> 
In previous version moving is designed around 'index' state,
now we have two states 'row' and 'col' to keep track of.

> 
> \ check that 0 <= n < limit
> : xy-check.1 ( n limit -- flag ) over > swap 0 >= and ;
> 
That reminds me of 'within' word that could used like:
  ( x ) 0 COLS within ( flag )
to check if x is between limits.

> \ check that x,y is in bounds
> : xy-check ( row col -- flag ) COLS xy-check.1 swap ROWS xy-check.1 and ;
> 
> \ swap piece at row,col with empty square.  precondition: move is valid
> : m-move ( row col -- ) swap rows * + locate* indexes-exchange ;
> 
> \ check if move to row,col is valid and if yes, make the move.
> : check-move ( row col -- ) 2dup xy-check if m-move else 2drop then ;
> 
> \ move to (row+drow, col+dcol) if move is valid.
> : move-by ( drow dcol -- ) locate-xy rot + -rot + swap check-move ;
In previous version, move checking is particular to that very move.
In that version, checking for every kind of moving is made for a
very particular move.
What meaning is to check for right,up,down boundaries when move is to left?
Shouldn't be checked just for left boundary?

To make a difference between older and newer version let see 'left' word
by using common words 'locate*' and 'indexes-exchange'. In newer source
make that words macros:
===
\ x,y coordinates of * in board
: locate-xy ( -- row col ) ]] locate* dup ROWS / swap COLS mod [[ ; immediate

\ check that 0 <= n < limit
: xy-check.1 ( n limit -- flag ) ]] over > swap 0 >= and [[ ; immediate

\ check that x,y is in bounds
: xy-check ( row col -- flag ) ]] COLS xy-check.1 swap ROWS xy-check.1 and [[ ;
immediate

\ swap piece at row,col with empty square.  precondition: move is valid
: m-move ( row col -- ) ]] swap rows * + locate* indexes-exchange [[ ;
immediate

\ check if move to row,col is valid and if yes, make the move.
: check-move ( row col -- ) ]] 2dup xy-check if m-move else 2drop then [[ ;
immediate

\ move to (row+drow, col+dcol) if move is valid.
: move-by ( drow dcol -- ) ]] locate-xy rot + -rot + swap check-move [[ ;
immediate
===

Load new file into gforth and let see new 'left definition':
see left 
: left  
  0 -1 locate* dup 4 / swap 4 mod rot + -rot + swap 2dup 4 over > swap 0 >= and
  swap 4 over > swap 0 >= and and 
  IF     swap 4 * + locate* indexes-exchange 
  ELSE   2drop 
  THEN ; ok

Older version:
see left 
: left  
  locate* dup dup 4 mod 0 <> 
  IF     1- 
  THEN 
  indexes-exchange ; ok

Factoring is very good, but when to stop?
Not long ago I had a intuition of a principle of programming
from what 'kiss' principle and other corrolaries could be derived:

"Universe of states/code sequences/names that describe a solution(program)
for a problem, should be minimal."

From this ^^^^ principle, a refactored version that includes use of more
states,code sequences,names is a overfactored version.

Have a nice day,
humptydumpty

[toc] | [prev] | [next] | [standalone]


#35531

FromMark Wills <markwills1970@gmail.com>
Date2015-01-07 01:54 -0800
Message-ID<5187fb23-5854-4b89-8a98-ae61a2cf1c0c@googlegroups.com>
In reply to#35518
On Tuesday, 6 January 2015 23:31:20 UTC, Paul Rubin  wrote:
> The issue with the Forth stack
> solved by locals is the frequent need to muck around getting at elements
> that aren't at the top.

Nailed it.

[toc] | [prev] | [next] | [standalone]


#35537

Fromstephen@mpeforth.com (Stephen Pelc)
Date2015-01-07 12:33 +0000
Message-ID<54ad2534.84588468@news.eternal-september.org>
In reply to#35518
On Tue, 06 Jan 2015 15:31:02 -0800, Paul Rubin
<no.email@nospam.invalid> wrote:

>> Stephen, who manages a very good code generator, has shown that use of
>> locals is costly in performance.
>
>I wonder what the issue is, if the compiler does the natural things with
>locals and puts them in registers.

The VFX code generator was originally designed with a focus on
interfacing Forth to shared library functions written in C. VFX
followed that C virtual machine model of locals further than I 
would do now, in particular in allowing the address of a local
variable to be taken.

On x86 with only eight registers, there isn't much opportunity to
use registers to hold data.

Given the opportunity, I would do some things differently now.

For an ARM target, we measured a 25% reduction in code size and
a 50% increase in performance when we de-localled code in the PowerNet
TCP/IP stack. With a better locals code generator, I would expect 
the locals and non-locals code to have similar code size and
performance.

Stephen

-- 
Stephen Pelc, stephenXXX@mpeforth.com
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeforth.com - free VFX Forth downloads

[toc] | [prev] | [next] | [standalone]


#35541

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2015-01-07 14:25 +0000
Message-ID<2015Jan7.152545@mips.complang.tuwien.ac.at>
In reply to#35517
"Elizabeth D. Rather" <erather@forth.com> writes:
>On 1/6/15 11:37 AM, Paul Rubin wrote:
>> 2) they expose the data to other functions unnecessarily; lots of the
>> cleanliness of Forth comes from stack cells used inside a word being
>> private to that word;
>
>A lot of the power of Forth comes from re-usability of code. Sharing 
>appropriate variables is a similar concept.

On the contrary, passing paramters around through global variables
makes it harder to reuse words.  There are some cases where it works,
but for an arbitrary parameter, passing it in a global variable
instead of on the stack is likely to make the word harder to reuse.

And even in those cases where people use such implicit parameter
passing, e.g. in the Postscript graphics model, it turns out that it
is useful to have a way to save and restore the implicit state, with
gsave and grestore in the case of Postscript.

>> 3) they pollute the global namespace
>
>Why do named variables "pollute" namespace more than names of other 
>kinds of words?

If I need an integer x in one definition and a FP value x in another
definition, the definition of both of these values as global variables
at the very least leads to shadowing of one of them, making debugging
harder.  If you use locals instead of global variables, you don't have
that problem.

>Stephen, who manages a very good code generator, has shown that use of 
>locals is costly in performance.

No.  His code generator is better for stack manipulations than for
locals, but that's a property of his code generator, not of locals.
It's equally possible to make a code generator that puts locals in
registers and keeps stack items in memory, and on such a code
generator, the use of stack manipulation words would be costly in
performance.

Or, with additional effort, one could build a code generator that
tries to keep both stack items and locals in registers, and with such
a code generator, the performance of locals-using code would be
similar to stack-manipulation-using code.

> And, as I have been stressing, the 
>ability to share data structures among various related definitions is 
>valuable, and an important capability that locals deny.

Locals don't deny the use of memory for sharing data structures among
related definitions, just as the stack does not deny the use of memory
for that purpose.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2014: http://www.euroforth.org/ef14/

[toc] | [prev] | [next] | [standalone]


#35545

From"Alex McDonald" <blog@rivadpm.com>
Date2015-01-07 16:37 +0000
Message-ID<m8jnbq$2rs$1@dont-email.me>
In reply to#35541
on 07/01/2015 14:25:43, Anton wrote:
> "Elizabeth D. Rather" <erather@forth.com> writes:
>>On 1/6/15 11:37 AM, Paul Rubin wrote:
>>> 2) they expose the data to other functions unnecessarily; lots of the
>>> cleanliness of Forth comes from stack cells used inside a word being
>>> private to that word;
>>
>>A lot of the power of Forth comes from re-usability of code. Sharing
>>appropriate variables is a similar concept.
> 
> On the contrary, passing paramters around through global variables
> makes it harder to reuse words.  There are some cases where it works,
> but for an arbitrary parameter, passing it in a global variable
> instead of on the stack is likely to make the word harder to reuse.
> 
> And even in those cases where people use such implicit parameter
> passing, e.g. in the Postscript graphics model, it turns out that it
> is useful to have a way to save and restore the implicit state, with
> gsave and grestore in the case of Postscript.
> 

I couldn't agree with you more. Global variables are evil when they
become implicit parameters. It doesn't matter what language is being
used.

Elizabeth mentions Windows function calls with lots of variables where
global impicit parameters appear to be of help. Very few programs have a
requirement for 10 different values for a 10 parameter call with
potentially 100s of different parameter values. Those that have a
requirement for such large scale variability are, in all likelihood,
badly written programs. In which case, the use of parameterised global
variables is not a problem, since the additional insult of globals is
unlikely to make them much worse.

The impedance mismatch between a Forth FFI and Windows is easily solved
without resorting to globals.

<snip>

[toc] | [prev] | [next] | [standalone]


#35571

Fromhughaguilar96@gmail.com
Date2015-01-07 15:02 -0800
Message-ID<ffc78f8d-9526-49f9-aef5-4b418a2c5d59@googlegroups.com>
In reply to#35541
On Wednesday, January 7, 2015 8:04:38 AM UTC-7, Anton Ertl wrote:
> "Elizabeth D. Rather" <erather@forth.com> writes:
> >On 1/6/15 11:37 AM, Paul Rubin wrote:
> >> 2) they expose the data to other functions unnecessarily; lots of the
> >> cleanliness of Forth comes from stack cells used inside a word being
> >> private to that word;
> >
> >A lot of the power of Forth comes from re-usability of code. Sharing 
> >appropriate variables is a similar concept.
> 
> On the contrary, passing paramters around through global variables
> makes it harder to reuse words.  There are some cases where it works,
> but for an arbitrary parameter, passing it in a global variable
> instead of on the stack is likely to make the word harder to reuse.
> 
> And even in those cases where people use such implicit parameter
> passing, e.g. in the Postscript graphics model, it turns out that it
> is useful to have a way to save and restore the implicit state, with
> gsave and grestore in the case of Postscript.

Anton is correct about this.

I think the major reason why ANS-Forth failed, is because Elizabeth Rather doesn't understand the concept of "reusable code" or "general-purpose data-structures."

Sometimes I develop code using global variables, but then switch it all over to local variables afterward --- a good example of this is SORT in the novice package --- in SORT all of those MACRO: words were originally colon words, and all of those local variables were originally global variables, but when testing of the colon words was done I rewrote it as you see it now.

[toc] | [prev] | [next] | [standalone]


#35540

FromJulian Fondren <julian.fondren@gmail.com>
Date2015-01-07 06:00 -0800
Message-ID<15be3232-0368-404b-a5fe-d18d0fbd305d@googlegroups.com>
In reply to#35516
On Tuesday, January 6, 2015 3:37:51 PM UTC-6, Paul Rubin wrote:
> 2) they expose the data to other functions unnecessarily; ...
> 
> 3) they pollute the global namespace

  \ file1.fs
  variable x
  : foo ... x .. ;
  variable x
  : bar ... x ... ;

  \ file2.fs
  : foo ... y ... ;
  variable y
  : bar ... y ... ;

FOO in file2.fs does not refer to the later-defined Y .  It has an error.

The author of BAR in file1.fs is not the slightest bit inconvenienced by
the earlier X that only FOO cared about.  Well, some warnings might get
toggled off or ignored.  If someone cares later about the earlier X ,
negotiations can be made at that time.

'Negotiations' mostly including mass beheadings and vocabulary-slinging -
which don't involve changing your code any, but adding small bits of code
around your code.

The problems you're worrying about aren't Forth problems to begin with.  I
realize I probably won't sell you on this fact with these hand-waving
arguments, but it's just one of the nice things about the language.


-- Julian

[toc] | [prev] | [next] | [standalone]


#35546

FromPaul Rubin <no.email@nospam.invalid>
Date2015-01-07 08:49 -0800
Message-ID<87zj9uv8n2.fsf@jester.gateway.sonic.net>
In reply to#35540
Julian Fondren <julian.fondren@gmail.com> writes:
> The author of BAR in file1.fs is not the slightest bit inconvenienced by
> the earlier X that only FOO cared about.  ...
> The problems you're worrying about aren't Forth problems to begin with.

But now there's two variables of dead weight in the microcontroller's
scarce ram instead of just one, or better yet none.  Also not explained
is what to do if FOO or BAR is recursive.  I wrote a word a while back
that I just couldn't see a decent way to write without locals or (if
general) some kind of ALLOCed or ALLOTed resizeable auxiliary array.  It
was recursive so it couldn't use VARIABLEs to hold temporaries, and it
had enough stuff on the stack that juggling with DUP/ROT/etc. would have
been awful.  In practice the recursion depth was never higher than about
4, so setting aside a static buffer would have been ok for the
application, but still.

Maybe things would ease up if we were less squeamish about reaching into
the data stack.  I.e. we could have some primitives like OVER but that
went multiple levels in.  Let's face it, we already have started down
that path if we accept the existence of ROT, 2OVER, and so on.
So we could have OVER0, OVER1, OVER2, ... up to OVER8 say.
OVER[k] is the same as  k PICK  so OVER0 is like DUP, OVER1 is like
OVER, and so on.  These aren't as ugly as PICK since they each have
a predictable (not data dependent) stack action.

[toc] | [prev] | [next] | [standalone]


#35554

FromJulian Fondren <julian.fondren@gmail.com>
Date2015-01-07 10:06 -0800
Message-ID<a9684474-2396-4917-a495-2ea9b8d1285f@googlegroups.com>
In reply to#35546
On Wednesday, January 7, 2015 10:49:24 AM UTC-6, Paul Rubin wrote:
> Julian Fondren <julian.fondren@gmail.com> writes:
> > The author of BAR in file1.fs is not the slightest bit inconvenienced by
> > the earlier X that only FOO cared about.  ...
> > The problems you're worrying about aren't Forth problems to begin with.
> 
> But now there's two variables of dead weight in the microcontroller's
> scarce ram instead of just one, or better yet none.

I think that you need a series of concrete examples for you to to
really get anywhere talking about this.  In a game of 'what if'
other people will just keep saying, OK, if that were the case,
then I would do something different, but since that's hardly ever
the case, it doesn't have a lot to do with what's actually done...
which is what I'd assume you're interested in.

Anyway, I've never written for a microcontroller, so I won't reply
to this.

> Also not explained is what to do if FOO or BAR is recursive.

  variable x
  : foo ( n-lim n -- )  2dup = if 2drop exit then
    x @ over cr type 1+ recurse ;
  : bar ( c-addr u -- )
    swap x ! 1+ 1 foo ;

  s" hello" bar
  h
  he
  hel
  hell
  hello ok

Recursive functions still have stacks.  If you're walking a tree,
you don't need to keep copying the tree for each recursive call;
just keep navigation information on the stack.  Meanwhile, in the
context of actual code, a variable might be a reasonable place for
the tree.

> I wrote a word a while back
> that I just couldn't see a decent way to write without locals or (if
> general) some kind of ALLOCed or ALLOTed resizeable auxiliary array.  It
> was recursive so it couldn't use VARIABLEs to hold temporaries, and it
> had enough stuff on the stack that juggling with DUP/ROT/etc. would have
> been awful.  In practice the recursion depth was never higher than about
> 4, so setting aside a static buffer would have been ok for the
> application, but still.

Why not post stuff like this to clf?  You still might not like the
answer, but you'd have it.

> Maybe things would ease up if we were less squeamish about reaching into
> the data stack.

Yuck.

> Let's face it, we already have started down
> that path if we accept the existence of ROT, 2OVER, and so on.

No, we haven't.  There has indeed been no movement along that path
at all.  2OVER operates on a stack of three elements -- it just
looks like more when you use the wrong stack notation.  Avoiding
ROT and -ROT just causes your code to grow little return-stack
mushrooms.  I tried.  They grew.  I said: this is just giving the
return-stack a bad name.

(And the way I think of it is: I use ROT want I want the third
element to come to me.  I use -ROT when I want the first element
to go away from me.  Come, come, come; go away go away go away.
There's even something subtly negative about the word -ROT)

> So we could have OVER0, OVER1, OVER2, ... up to OVER8 say.
> OVER[k] is the same as  k PICK  so OVER0 is like DUP, OVER1 is like
> OVER, and so on.  These aren't as ugly as PICK since they each have
> a predictable (not data dependent) stack action.

They are exactly as ugly as PICK .  You must be considering beauty
from the perspective of a static analysis program.  For a human
OVER[k] is just going to be interchangable with k PICK


Meanwhile, have some ugly attempts at delocalizing some
triangle-drawing:

  2e wide s>f f/ fconstant width
  2e deep s>f f/ fconstant depth

...

  : brick, { F: x F: y -- } \ bottom-left-coord --
    x sf, y sf,
    x width f+ sf, y sf,
    x width f+ sf, y depth f+ sf,
    x sf, y sf,
    x width f+ sf, y depth f+ sf,
    x sf, y depth f+ sf, 

...

  : x'th ( n -- r ) 2* sfloats here + sf@ ;
  : y'th ( n -- r ) 2* 1+ sfloats here + sf@ ;

  : brick ( F: x F: y -- )  \ bottom-left-coord --
    fswap sf, sf,
    -1 y'th -1 x'th  wide f+ sf,  sf,
    -2 y'th -1 x'th  sf, depth f+ sf,
    -3 y'th -3 x'th  sf, sf,
    -2 y'th -2 x'th  sf, sf,
    -1 y'th -2 x'th  sf, sf, ;

...

   fvariable x  fvariable y
   : coord, ( -- )  x sf@ sf,  y sf@ sf, ;
   : deeper ( -- )  here 2 sfloats - dup sf@ depth + swap sf! ;
   : wider  ( -- )  here 1 sfloats - dup sf@ wide  + swap sf! ;

   : brick ( F: x F: y -- )  y sf!  x sf!  \ bottom-left coord --
     coord,
     coord, wider
     coord, wider deeper
     coord,
     coord, wider deeper
     coord, deeper ;

-- Julian

[toc] | [prev] | [next] | [standalone]


#35555

From"Alex McDonald" <blog@rivadpm.com>
Date2015-01-07 18:09 +0000
Message-ID<m8jsoo$ql8$1@dont-email.me>
In reply to#35554
on 07/01/2015 18:06:37, Julian Fondren wrote:

> 2OVER operates on a stack of three elements -- it just
> looks like more when you use the wrong stack notation.  

It is more; it operates on four ( a b c d -- a b c d a b ).

[toc] | [prev] | [next] | [standalone]


#35556

FromJulian Fondren <julian.fondren@gmail.com>
Date2015-01-07 10:16 -0800
Message-ID<f8933817-abfc-4dde-b938-dfcccfb8d9d4@googlegroups.com>
In reply to#35555
On Wednesday, January 7, 2015 12:09:55 PM UTC-6, Alex McDonald wrote:
> on 07/01/2015 18:06:37, Julian Fondren wrote:
> 
> > 2OVER operates on a stack of three elements -- it just
> > looks like more when you use the wrong stack notation.  
> 
> It is more; it operates on four ( a b c d -- a b c d a b ).

I was thinking of the output of the word instead of what it
consumes.  2OVER operates on a stack of two elements ( d1 d2 )
and produces three elements ( d1 d2 d1 ).


-- Julian

[toc] | [prev] | [next] | [standalone]


Page 9 of 17 — ← Prev page 1 … 7 8 [9] 10 11 … 17  Next page →

Back to top | Article view | comp.lang.forth


csiph-web