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


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

EXIT THEN

Started by"HAA" <someone@microsoft.com>
First post2017-01-17 12:17 +1100
Last post2017-03-26 01:52 -0700
Articles 20 on this page of 269 — 27 participants

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


Contents

  EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-17 12:17 +1100
    Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-16 18:27 -0800
    Re: EXIT THEN Pablo Hugo Reda <pabloreda@gmail.com> - 2017-01-16 18:28 -0800
      Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-16 20:56 -0800
        Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-19 13:05 +1100
          Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-18 23:29 -0500
            Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-20 11:46 +1100
              Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-19 22:28 -0500
          Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-22 18:45 -0800
            Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-25 09:57 +1100
        Re: EXIT THEN JennyB <jennybrien@googlemail.com> - 2017-01-25 23:56 -0800
          Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-26 03:35 -0600
            Re: EXIT THEN Coos Haak <htrofhc@gmail.com> - 2017-01-26 11:31 +0100
            Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-26 11:07 +0000
              Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-05 19:15 +1100
                Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-07 17:54 +0000
                  Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-02-07 21:14 +0000
                    Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-13 16:52 +0000
                      Recognizer using CATCH/THROW [was Re: EXIT THEN] Alex <alex@rivadpm.com> - 2017-02-15 23:49 +0000
                        Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] Alex <alex@rivadpm.com> - 2017-02-16 14:41 +0000
                          Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] Alex <alex@rivadpm.com> - 2017-02-16 16:59 +0000
                      Recognizer using CATCH/THROW [was Re: EXIT THEN] Alex <alex@rivadpm.com> - 2017-03-11 15:05 +0000
                        Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] Matthias Trute <matthias.trute@gmail.com> - 2017-03-13 12:37 -0700
                          Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] Alex <alex@rivadpm.com> - 2017-03-13 21:32 +0000
                            Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-03-14 04:42 -0500
                              Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] Alex <alex@rivadpm.com> - 2017-03-14 11:45 +0000
                                Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] Alex <alex@rivadpm.com> - 2017-03-14 12:41 +0000
                                Re: Recognizer using CATCH/THROW [was Re: EXIT THEN] albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-03-14 14:20 +0100
                  Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-02-07 16:15 -0500
                    Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-13 16:49 +0000
                  Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-08 19:43 +1100
                    Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-13 16:31 +0000
                      Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-14 11:12 +1100
                        Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-15 17:22 +0000
                          Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-17 10:16 +1100
            Re: EXIT THEN JennyB <jennybrien@googlemail.com> - 2017-01-26 09:11 -0800
              Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-28 11:07 +1100
              Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-27 18:31 -0800
                Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-29 12:07 +1100
                  Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-28 17:37 -0800
                    Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-28 21:40 -0500
                      Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-29 19:56 -0800
                        Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-30 00:30 -0500
                          Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-31 04:22 -0600
                            Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-31 14:42 -0800
                              Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-31 19:16 -0500
                                Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-31 21:00 -0800
                                  Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-02-01 17:35 -0500
                                    Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-02-02 01:31 -0500
                                      Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-02-02 20:09 -0500
                                        Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-02 18:03 -0800
                                          Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-02-02 22:04 -0500
                                Re: EXIT THEN Mark Wills <markwills1970@gmail.com> - 2017-02-01 03:15 -0800
                                  Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-02-01 17:32 -0500
                        Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-30 13:30 +0000
                          Re: EXIT THEN Mark Wills <markwills1970@gmail.com> - 2017-01-30 05:56 -0800
                          Re: EXIT THEN Howerd <howerdo@yahoo.co.uk> - 2017-01-30 12:13 -0800
                            Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-30 22:25 +0000
          Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-26 10:48 +0000
            Re: EXIT THEN JennyB <jennybrien@googlemail.com> - 2017-01-26 08:41 -0800
              Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-27 21:36 -0800
      Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-17 17:06 +0000
    Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-01-16 16:31 -1000
      Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-16 20:59 -0800
        Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-17 06:11 -0800
      Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-18 10:36 +1100
        Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-20 07:33 +0000
          Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-20 23:02 +1100
            Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-20 13:47 +0000
              Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-20 18:55 -0800
                Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-22 09:15 +0000
                  Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-22 14:30 -0800
                    Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-22 20:58 -0500
                      Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-23 10:47 +0000
                        Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-23 06:20 -0500
                          Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-23 13:09 +0000
                            Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-23 14:41 -0500
                              Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-23 20:52 +0000
                                Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-23 16:21 -0500
                                  Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-24 06:55 +0000
                                    Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-24 03:56 -0500
                                      Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-24 09:46 +0000
                    Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-22 22:38 -0500
              Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-23 15:09 +1100
                Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-23 10:16 +0000
                  Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-23 05:53 -0500
                    Re: EXIT THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-23 12:14 +0000
                      Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-23 14:53 -0500
                  Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-24 21:37 +1100
                    Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-24 19:54 -0500
                    Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-25 03:38 -0600
    Re: EXIT THEN Mark Wills <markwills1970@gmail.com> - 2017-01-17 08:01 -0800
      Re: EXIT THEN hughaguilar96@gmail.com - 2017-01-17 10:27 -0800
        Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-17 11:34 -0800
          Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-18 14:35 +0000
      Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-18 10:37 +1100
        Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-17 20:53 -0500
          Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-01-17 18:02 -1000
            Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-18 00:15 -0500
              Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-01-17 19:34 -1000
                Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-18 03:33 -0500
                  Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-18 03:45 -0600
                    Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-18 14:43 -0500
                  Re: EXIT THEN albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-18 13:17 +0100
                    Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-19 13:46 +1100
                  Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-18 13:56 +0000
                Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-19 13:04 +1100
                  Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-01-18 18:10 -1000
                    Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-19 03:51 -0600
                      Re: EXIT THEN hheinrich.hohl@gmail.com - 2017-01-19 02:28 -0800
                        Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-20 22:23 +1100
                          Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-20 13:32 -0500
                          Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-01-20 18:18 -1000
                            Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-23 12:00 +1100
                              Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-22 21:10 -0500
                                Re: EXIT THEN Mark Wills <markwills1970@gmail.com> - 2017-01-23 01:22 -0800
                                  Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-23 06:03 -0500
                                    Re: EXIT THEN Coos Haak <htrofhc@gmail.com> - 2017-01-24 02:27 +0100
                                      Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-24 04:00 -0500
                                        Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-24 07:49 -0500
                                          Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-24 20:04 -0500
                                            Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-24 20:23 -0500
                                              Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-24 21:32 -0500
                                                Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-24 23:04 -0500
                                                  Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-25 00:45 -0500
                                                Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-25 07:16 +0000
                                                  Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-25 02:57 -0500
                                                    Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-25 16:55 +0000
                                                      Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-01-25 09:53 -1000
                                                        Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-26 22:40 -0500
                                      Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-26 10:55 +1100
                                        Re: EXIT THEN JennyB <jennybrien@googlemail.com> - 2017-01-26 10:17 -0800
                                          Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-27 13:09 +1100
                                            Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-26 21:54 -0500
                                              Re: EXIT THEN Coos Haak <htrofhc@gmail.com> - 2017-01-27 14:12 +0100
                                                Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-28 12:32 +1100
                                              Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-29 10:35 +1100
                              Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-22 21:35 -0500
                                Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-23 04:15 -0600
                                  Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-01-23 10:29 -0500
                                Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-23 21:48 +1100
                                  Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-23 06:18 -0500
                                    Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-26 11:34 +1100
                                      Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-01-25 22:04 -0500
                                        Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-01-25 17:22 -1000
                                      Re: EXIT THEN Mark Wills <markwills1970@gmail.com> - 2017-01-26 00:55 -0800
                                        Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-27 13:40 +1100
                    Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-01-20 11:44 +1100
    Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-18 08:02 -0500
      Re: EXIT THEN Coos Haak <htrofhc@gmail.com> - 2017-01-18 17:45 +0100
        Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-19 20:02 -0500
    Re: EXIT THEN Julian Fondren <julian.fondren@gmail.com> - 2017-01-22 18:23 -0800
    Re: EXIT THEN albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-02-02 12:24 +0100
      Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-10 12:15 +1100
        Re: EXIT THEN mhx@iae.nl - 2017-02-10 10:57 -0800
          Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-11 12:45 +1100
            Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-10 18:13 -0800
              Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-02-11 07:55 -0500
                Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-02-11 13:16 +0000
                  Re: EXIT THEN "Elizabeth D. Rather" <erather@forth.com> - 2017-02-11 11:28 -1000
                    Re: EXIT THEN Paul Rubin <no.email@nospam.invalid> - 2017-02-11 13:40 -0800
                      Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-11 18:52 -0800
                        Re: EXIT THEN Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-02-12 12:09 +0000
                          Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-12 07:24 -0800
                            Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-02-12 16:42 -0500
                              Re: EXIT THEN Julian Fondren <julian.fondren@gmail.com> - 2017-02-12 13:52 -0800
                                Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-02-13 00:02 -0500
                                  Re: EXIT THEN Julian Fondren <julian.fondren@gmail.com> - 2017-02-12 21:27 -0800
                                  Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-13 07:53 +0000
                              Re: EXIT THEN Michael Barry <barrym95838@yahoo.com> - 2017-02-12 16:25 -0800
                                Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-12 17:11 -0800
                                  Re: EXIT THEN Michael Barry <barrym95838@yahoo.com> - 2017-02-12 18:49 -0800
                                    Re: EXIT THEN Michael Barry <barrym95838@yahoo.com> - 2017-02-12 18:59 -0800
                                      Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-12 21:18 -0800
                    Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-02-12 14:39 +0000
                Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-11 18:47 -0800
              Re: EXIT THEN rickman <gnuarm@gmail.com> - 2017-02-12 00:49 -0500
                Re: EXIT THEN Paul Rubin <no.email@nospam.invalid> - 2017-02-11 23:07 -0800
                  Re: EXIT THEN Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-02-12 12:36 +0000
              Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-13 11:08 +1100
                Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-12 17:04 -0800
                  Re: EXIT THEN hughaguilar96@gmail.com - 2017-02-12 17:08 -0800
    Re: EXIT THEN jacko <jackokring@gmail.com> - 2017-02-16 17:24 -0800
      Re: EXIT THEN jacko <jackokring@gmail.com> - 2017-02-17 16:32 -0800
        Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-19 10:47 +1100
          Re: EXIT THEN jacko <jackokring@gmail.com> - 2017-02-18 16:07 -0800
            Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-19 13:54 +1100
    Re: EXIT THEN Heinrich Hohl <hheinrich.hohl@gmail.com> - 2017-02-17 02:40 -0800
      Re: EXIT THEN Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-02-17 19:25 -0500
      Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-02-19 12:36 +1100
    Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-20 06:32 -0700
      Re: EXIT THEN Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2017-03-21 08:33 +0000
        Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-22 02:21 +1100
          Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 09:57 -0700
            Re: EXIT THEN Coos Haak <htrofhc@gmail.com> - 2017-03-21 18:17 +0100
              Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 10:22 -0700
            Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 17:56 +0000
              Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 11:59 -0700
                Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 19:16 +0000
                  Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 12:24 -0700
                    Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 19:26 +0000
                      Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 12:32 -0700
                        Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 19:51 +0000
                          Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 12:56 -0700
                            Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 21:02 +0000
                              Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 14:15 -0700
                                Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 21:36 +0000
                                  Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 15:12 -0700
                                    Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 16:13 -0700
                                    Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 09:16 +0000
                                      Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 03:35 -0700
                          Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 13:33 -0700
          Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 17:51 +0000
          Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-21 18:59 +0000
            Re: EXIT THEN Mark Wills <markwills1970@gmail.com> - 2017-03-21 12:07 -0700
              Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-21 12:17 -0700
                Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-22 20:08 +1100
                  Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 09:18 +0000
                    Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-22 22:25 +1100
                      Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 04:46 -0700
                        Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 12:23 +0000
                          Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 05:27 -0700
                            Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 05:36 -0700
                            Re: EXIT THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-03-22 13:14 +0000
                          Re: EXIT THEN Coos Haak <htrofhc@gmail.com> - 2017-03-22 13:43 +0100
                            Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 13:04 +0000
                      Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 11:49 +0000
                        Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 05:24 -0700
                          Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 13:00 +0000
                            Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 06:12 -0700
                          Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-22 07:00 -0700
                            Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 07:14 -0700
                              Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-22 10:43 -0700
                                Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 11:09 -0700
                                  Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 18:22 +0000
                                    Re: EXIT THEN Julian Fondren <julian.fondren@gmail.com> - 2017-03-22 11:42 -0700
                                      Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-22 15:45 -0700
                                        Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-22 15:57 -0700
                                        Re: EXIT THEN Julian Fondren <julian.fondren@gmail.com> - 2017-03-22 16:17 -0700
                                    Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 12:03 -0700
                                  Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-03-22 14:27 -0500
                                  Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-22 14:31 -0700
                                    Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-23 14:41 +0000
                            Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 14:57 +0000
                              Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-26 01:11 -0700
                                Re: EXIT THEN Ron Aaron <rambamist@gmail.com> - 2017-03-26 11:40 +0300
                                  Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-26 01:57 -0700
                                Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-26 09:50 +0100
                            Re: EXIT THEN foxaudioresearch@gmail.com - 2017-03-22 09:14 -0700
                        Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-23 00:48 +1100
                          Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-22 13:59 +0000
                            Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-23 09:52 +1100
                              Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-22 16:13 -0700
                              Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-23 14:39 +0000
                                Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-23 16:33 -0700
                                  Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-24 14:17 +0000
                                Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-24 11:49 +1100
                                  Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-23 18:12 -0700
                                  Re: EXIT THEN Alex <alex@rivadpm.com> - 2017-03-24 08:55 +0000
                                    Re: EXIT THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-03-24 09:14 -0500
                                    Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-25 13:00 +1100
                                      Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-24 20:25 -0700
                                        Re: EXIT THEN Mark Wills <markwills1970@gmail.com> - 2017-03-25 02:10 -0700
                                          Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-25 12:08 -0700
                          Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-22 06:59 -0700
                            Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-23 09:53 +1100
                              Re: EXIT THEN Helmar Wodtke <helmwo@gmail.com> - 2017-03-25 07:52 -0700
                                Re: EXIT THEN "HAA" <someone@microsoft.com> - 2017-03-26 16:31 +1000
                                  Re: EXIT THEN hughaguilar96@gmail.com - 2017-03-26 01:52 -0700

Page 6 of 14 — ← Prev page 1 … 4 5 [6] 7 8 … 14  Next page →


#54103

Fromrickman <gnuarm@gmail.com>
Date2017-01-18 03:33 -0500
Message-ID<o5n95f$s4a$1@dont-email.me>
In reply to#54097
On 1/18/2017 12:34 AM, Elizabeth D. Rather wrote:
> On 1/17/17 7:15 PM, rickman wrote:
>> On 1/17/2017 11:02 PM, Elizabeth D. Rather wrote:
>>> On 1/17/17 3:53 PM, rickman wrote:
>>>> On 1/17/2017 6:37 PM, HAA wrote:
>>>>> Mark Wills wrote:
>>>>>> ...
>>>>>> some_condition IF EXIT THEN
>>>>>> reduced to:
>>>>>> some_condition IF END
>>>>>> is quite nice.
>>>>>>
>>>>>> However, how about removing the IF:
>>>>>>
>>>>>> some_condition TERMINATES
>>>>>>
>>>>>> Super nice.
>>>>>>
>>>>>> macro: TERMINATES IF EXIT THEN ;
>>>>>
>>>>> This already exists in many Forth under the name ?EXIT
>>>>
>>>> I am no Forth expert by any stretch of the imagination.  Maybe someone
>>>> can explain to me the utility of EXIT THEN?
>>>>
>>>> I was raised on "structured" programming where we relish something like
>>>>
>>>> IF stuff ELSE more stuff THEN ;
>>>>
>>>> Why is this better?
>>>>
>>>> IF stuff EXIT THEN more stuff ;
>>>>
>>>> Or even
>>>>
>>>> IF stuff END more stuff ;
>>>>
>>>> Or is the whole thing whizzing over my head?
>>>>
>>>> Puzzled in CS-101...
>>>
>>> There's a faint whizzing sound. EXIT leaves the definition in which it
>>> appears, so if the END executes the 'more stuff' after would not be
>>> executed. In other words, in the definition:
>>>
>>> : foo   [test] IF stuff END more stuff ;
>>>
>>> ...'more stuff' will only execute if the [test] gives a false. It avoids
>>> the need for an ELSE.
>>
>> I think the whizzing sound is not me.  I get what what END does.  My
>> examples show that, no?  What I don't get is why anyone doesn't like IF
>> ELSE THEN (other than the odd use of THEN [vs conventional languages]).
>>
>> IF ... ELSE ... THEN
>>
>> I think that is pretty clear.
>>
>> IF ... END ... ;
>>
>> That is not at all clear to me in any useful way.  If END is the end,
>> why would there be more stuff after it?  Not at all intuitive,
>> *especially* for someone familiar with programming in other languages...
>> and as I said, versed in structured programming.
>>
>> What is the point of END?
>
> END is a pretty minor enhancement, which is why I questioned its value.
> But ELSE costs a couple of cells, and the OP thinks END is prettier than
> ELSE EXIT THEN.

You are saying EXIT is a direct return the same as semicolon?  The jump 
compiled for an ELSE is more code than the direct return?

I remember learning that we shouldn't use returns in C subroutines other 
than at the end of the routine.  The point was that it made it harder to 
debug since there were many exit points.  I found using the Microsoft 
debugger that a return other than at the end of the routine was compiled 
as a jump to the final return so placing a breakpoint at the final 
return would catch execution on exit from the routine no matter what the 
internal control flow.  I took that as justification for using returns 
interspersed in my code.  My boss disagreed.

But in general, I see no reason for trying to optimize away a cell by 
using such an oddball structure.  I don't write my code to be optimized 
before I know where the optimizations are needed.  In all the years I 
have written code, I believe I can count on one hand the number of times 
I would have worried about such a small optimization.  Optimization is 
usually done at the algorithmic level where a lot more can be improved.

-- 

Rick C

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


#54112

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2017-01-18 03:45 -0600
Message-ID<B6idnZe8SdO-pOLFnZ2dnUU7-e3NnZ2d@supernews.com>
In reply to#54103
rickman <gnuarm@gmail.com> wrote:

> You are saying EXIT is a direct return the same as semicolon?  The
> jump compiled for an ELSE is more code than the direct return?
> 
> I remember learning that we shouldn't use returns in C subroutines
> other than at the end of the routine.  The point was that it made it
> harder to debug since there were many exit points.

The origin of the "one entry, one exit" rule in CS is in the work of
Dijkstra et al, famously here:
http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF

It's worth a read.  The point is that if you have provable assertions
at the beginning and the end of a routine, it's much harder to reason
about one that jumps out of the middle.

> But in general, I see no reason for trying to optimize away a cell
> by using such an oddball structure.  I don't write my code to be
> optimized before I know where the optimizations are needed.  In all
> the years I have written code, I believe I can count on one hand the
> number of times I would have worried about such a small
> optimization.  Optimization is usually done at the algorithmic level
> where a lot more can be improved.

Indeed.  However, in programming you do sometimes have a list of
patterns with matching action clauses, which is simply:

: act
   this if  that exit  then
   ...
   t1 if  a1 exit  then
   t2 if  a2 exit  then
   ...
   ;

This is clear and obvious.  I don't think you'd be doing anyone any
favours by formatting such a thing as a bunch of nested IF ELSE THEN
clauses.  But I wouldn't make a word out of EXIT THEN.  Mind you, I
wouldn't use BOUNDS for OVER + SWAP either.

Andrew.

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


#54127

Fromrickman <gnuarm@gmail.com>
Date2017-01-18 14:43 -0500
Message-ID<o5ogek$eut$1@dont-email.me>
In reply to#54112
On 1/18/2017 4:45 AM, Andrew Haley wrote:
> rickman <gnuarm@gmail.com> wrote:
>
>> You are saying EXIT is a direct return the same as semicolon?  The
>> jump compiled for an ELSE is more code than the direct return?
>>
>> I remember learning that we shouldn't use returns in C subroutines
>> other than at the end of the routine.  The point was that it made it
>> harder to debug since there were many exit points.
>
> The origin of the "one entry, one exit" rule in CS is in the work of
> Dijkstra et al, famously here:
> http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF
>
> It's worth a read.  The point is that if you have provable assertions
> at the beginning and the end of a routine, it's much harder to reason
> about one that jumps out of the middle.
>
>> But in general, I see no reason for trying to optimize away a cell
>> by using such an oddball structure.  I don't write my code to be
>> optimized before I know where the optimizations are needed.  In all
>> the years I have written code, I believe I can count on one hand the
>> number of times I would have worried about such a small
>> optimization.  Optimization is usually done at the algorithmic level
>> where a lot more can be improved.
>
> Indeed.  However, in programming you do sometimes have a list of
> patterns with matching action clauses, which is simply:
>
> : act
>    this if  that exit  then
>    ...
>    t1 if  a1 exit  then
>    t2 if  a2 exit  then
>    ...
>    ;
>
> This is clear and obvious.  I don't think you'd be doing anyone any
> favours by formatting such a thing as a bunch of nested IF ELSE THEN
> clauses.  But I wouldn't make a word out of EXIT THEN.  Mind you, I
> wouldn't use BOUNDS for OVER + SWAP either.

Ok, but for the very few special cases would the above be any worse than...

this if that end
t1 if a1 end
....

I just don't get the need for END.  I also don't have a revulsion for ELSE.

this if that else
t1 if a1 else
....
then then then ... then


Also, I would suggest that the above lengthy code should be factored. 
If the conditions are all a given value of a single variable a case 
statement should be used.  If the conditions are all independent tests, 
they can be factored cleanly.

: lvl1 test1 if action1 else lvl2 then ;
: lvl2 test2 if action2 else lvl3 then ;

Smaller units have certain advantages in testing.

Maybe I don't have the bias toward keeping code abbreviated as I work 
more in VHDL than Forth and VHDL is the exact opposite of brief.  The 
above repetitive lines of code with small changes for each one is the 
way I think I would prefer to do this construct unless there was some 
functional reason for using END.

-- 

Rick C

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


#54113

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2017-01-18 13:17 +0100
Message-ID<o5nmdm$eka$1@cherry.spenarnc.xs4all.nl>
In reply to#54103
In article <o5n95f$s4a$1@dont-email.me>, rickman  <gnuarm@gmail.com> wrote:
>On 1/18/2017 12:34 AM, Elizabeth D. Rather wrote:
>> On 1/17/17 7:15 PM, rickman wrote:
>>> On 1/17/2017 11:02 PM, Elizabeth D. Rather wrote:
>>>> On 1/17/17 3:53 PM, rickman wrote:
>>>>> On 1/17/2017 6:37 PM, HAA wrote:
>>>>>> Mark Wills wrote:
>>>>>>> ...
>>>>>>> some_condition IF EXIT THEN
>>>>>>> reduced to:
>>>>>>> some_condition IF END
>>>>>>> is quite nice.
>>>>>>>
>>>>>>> However, how about removing the IF:
>>>>>>>
>>>>>>> some_condition TERMINATES
>>>>>>>
>>>>>>> Super nice.
>>>>>>>
>>>>>>> macro: TERMINATES IF EXIT THEN ;
>>>>>>
>>>>>> This already exists in many Forth under the name ?EXIT
>>>>>
>>>>> I am no Forth expert by any stretch of the imagination.  Maybe someone
>>>>> can explain to me the utility of EXIT THEN?
>>>>>
>>>>> I was raised on "structured" programming where we relish something like
>>>>>
>>>>> IF stuff ELSE more stuff THEN ;
>>>>>
>>>>> Why is this better?
>>>>>
>>>>> IF stuff EXIT THEN more stuff ;
>>>>>
>>>>> Or even
>>>>>
>>>>> IF stuff END more stuff ;
>>>>>
>>>>> Or is the whole thing whizzing over my head?
>>>>>
>>>>> Puzzled in CS-101...
>>>>
>>>> There's a faint whizzing sound. EXIT leaves the definition in which it
>>>> appears, so if the END executes the 'more stuff' after would not be
>>>> executed. In other words, in the definition:
>>>>
>>>> : foo   [test] IF stuff END more stuff ;
>>>>
>>>> ...'more stuff' will only execute if the [test] gives a false. It avoids
>>>> the need for an ELSE.
>>>
>>> I think the whizzing sound is not me.  I get what what END does.  My
>>> examples show that, no?  What I don't get is why anyone doesn't like IF
>>> ELSE THEN (other than the odd use of THEN [vs conventional languages]).
>>>
>>> IF ... ELSE ... THEN
>>>
>>> I think that is pretty clear.
>>>
>>> IF ... END ... ;
>>>
>>> That is not at all clear to me in any useful way.  If END is the end,
>>> why would there be more stuff after it?  Not at all intuitive,
>>> *especially* for someone familiar with programming in other languages...
>>> and as I said, versed in structured programming.
>>>
>>> What is the point of END?
>>
>> END is a pretty minor enhancement, which is why I questioned its value.
>> But ELSE costs a couple of cells, and the OP thinks END is prettier than
>> ELSE EXIT THEN.
>
>You are saying EXIT is a direct return the same as semicolon?  The jump
>compiled for an ELSE is more code than the direct return?
>
>I remember learning that we shouldn't use returns in C subroutines other
>than at the end of the routine.  The point was that it made it harder to
>debug since there were many exit points.  I found using the Microsoft
>debugger that a return other than at the end of the routine was compiled
>as a jump to the final return so placing a breakpoint at the final
>return would catch execution on exit from the routine no matter what the
>internal control flow.  I took that as justification for using returns
>interspersed in my code.  My boss disagreed.
>
>But in general, I see no reason for trying to optimize away a cell by
>using such an oddball structure.  I don't write my code to be optimized
>before I know where the optimizations are needed.  In all the years I
>have written code, I believe I can count on one hand the number of times
>I would have worried about such a small optimization.  Optimization is
>usually done at the algorithmic level where a lot more can be improved.

You are perfectly right. An optimizer can take care of any inefficiencies
later.

It would be interesting if you went back to that boss of yours,
and tell him that instead of a return, you were going to use an
obscure macro invented by you. That is what is proposed here with END.

Premature EXIT's can be acceptable in some situations (i.e. make
the source more readable in e.g. recursion:

: dosomething   ( n1 n2 -- n2 )
    DUP END-TABLE = IF 2DROP 0 EXIT THEN
    ....
    ... RECURSE
    ... RECURSE
;

I want this EXIT stick out, not obscured.

>
>--
>
>Rick C

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

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


#54141

From"HAA" <someone@microsoft.com>
Date2017-01-19 13:46 +1100
Message-ID<o5p984$54d$1@gioia.aioe.org>
In reply to#54113
Albert van der Horst wrote:
> ...
> It would be interesting if you went back to that boss of yours,
> and tell him that instead of a return, you were going to use an
> obscure macro invented by you. That is what is proposed here with END.

Seriously?  Forth is a toolkit.  You are expected to create things.
REPEAT is a macro for AGAIN THEN.  Will you use REPEAT
because your boss sanctions it - or because it's less obscure
than AGAIN THEN ?

Ciforth is the obscurest forth I know.  You would say it's not obscure
to you.  Familiarity is what happens when you use something.
What makes you think END will be any different?


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


#54120

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2017-01-18 13:56 +0000
Message-ID<2017Jan18.145638@mips.complang.tuwien.ac.at>
In reply to#54103
rickman <gnuarm@gmail.com> writes:
>You are saying EXIT is a direct return the same as semicolon?  The jump 
>compiled for an ELSE is more code than the direct return?

In many cases it is.  On a threaded-code system the ELSE jump is two
cells and the EXIT is one cell.  On IA-32 native code, VFX generates a
one-byte RET for EXIT, and a 5-byte JMP for ELSE.  OTOH, VFX does not
inline words containing EXIT, which may be more expensive in run-time
than the ELSE branch:

: max1 2dup < if nip exit then drop ;
: max2 2dup < if nip else drop then ;
: foo1 max1 ;
: foo2 max2 ;

see max1 
MAX1 
( 080C0AE0    3B5D00 )                CMP       EBX, [EBP]
( 080C0AE3    0F8E04000000 )          JLE/NG    080C0AED
( 080C0AE9    8D6D04 )                LEA       EBP, [EBP+04]
( 080C0AEC    C3 )                    NEXT,
( 080C0AED    8B5D00 )                MOV       EBX, [EBP]
( 080C0AF0    8D6D04 )                LEA       EBP, [EBP+04]
( 080C0AF3    C3 )                    NEXT,
( 20 bytes, 7 instructions )
 ok
see max2 
MAX2 
( 080C0B10    3B5D00 )                CMP       EBX, [EBP]
( 080C0B13    0F8E08000000 )          JLE/NG    080C0B21
( 080C0B19    8D6D04 )                LEA       EBP, [EBP+04]
( 080C0B1C    E906000000 )            JMP       080C0B27
( 080C0B21    8B5D00 )                MOV       EBX, [EBP]
( 080C0B24    8D6D04 )                LEA       EBP, [EBP+04]
( 080C0B27    C3 )                    NEXT,
( 24 bytes, 7 instructions )
 ok
see foo1 
FOO1 
( 080C0B50    E88BFFFFFF )            CALL      080C0AE0        MAX1
( 080C0B55    C3 )                    NEXT,
( 6 bytes, 2 instructions )
 ok
see foo2 
FOO2 
( 080C0B80    3B5D00 )                CMP       EBX, [EBP]
( 080C0B83    0F8E08000000 )          JLE/NG    080C0B91
( 080C0B89    8D6D04 )                LEA       EBP, [EBP+04]
( 080C0B8C    E906000000 )            JMP       080C0B97
( 080C0B91    8B5D00 )                MOV       EBX, [EBP]
( 080C0B94    8D6D04 )                LEA       EBP, [EBP+04]
( 080C0B97    C3 )                    NEXT,
( 24 bytes, 7 instructions )

Anyway, it's not hard to let the compiler do the transformation either
way, so I would not make the generated code a primary objective.

>I remember learning that we shouldn't use returns in C subroutines other 
>than at the end of the routine.  The point was that it made it harder to 
>debug since there were many exit points.

I have definitely had this experience when debugging code with colon
definitions containing EXITs.

> I found using the Microsoft 
>debugger that a return other than at the end of the routine was compiled 
>as a jump to the final return so placing a breakpoint at the final 
>return would catch execution on exit from the routine no matter what the 
>internal control flow.  I took that as justification for using returns 
>interspersed in my code.  My boss disagreed.

I also disagree.  Setting breakpoints is only one way to debug
programs, and is often more effective to insert debugging code in the
source code; and then you have to insert the code before every EXIT
(or wrap the word in a debugging wrapper) if you want to notice every
regular exit (for throws, you have to wrap the word in a catch).

- 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 2016: http://www.euroforth.org/ef16/

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


#54138

From"HAA" <someone@microsoft.com>
Date2017-01-19 13:04 +1100
Message-ID<o5p6ri$2k0$1@gioia.aioe.org>
In reply to#54097
Elizabeth D. Rather wrote:
> On 1/17/17 7:15 PM, rickman wrote:
> > ...
> > What is the point of END?
>
> END is a pretty minor enhancement, which is why I questioned its value.

Minor in what way?  Not in frequency where Forth Inc's own usage exceeds
that of REPEAT, or readability where it replaces means with effect, or in
typing where it reduces character count from nine or more to three.  By any
measure I can find the enhancement looks substantial.

This just may be the first worthwhile control flow addition Forth has seen
since ANS WHILE.  I'm conservative when it comes to Forth so I don't say
that lightly.  If there are any issues with END, I want to hear about it.  I've
seen too many additions to Forth that have languished unused.  I don't
want it to be the case with END.


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


#54142

From"Elizabeth D. Rather" <erather@forth.com>
Date2017-01-18 18:10 -1000
Message-ID<o9adnV6FmNTMoR3FnZ2dnUU7-IfNnZ2d@supernews.com>
In reply to#54138
On 1/18/17 4:04 PM, HAA wrote:
> Elizabeth D. Rather wrote:
>> On 1/17/17 7:15 PM, rickman wrote:
>>> ...
>>> What is the point of END?
>>
>> END is a pretty minor enhancement, which is why I questioned its value.
>
> Minor in what way?  Not in frequency where Forth Inc's own usage exceeds
> that of REPEAT, or readability where it replaces means with effect, or in
> typing where it reduces character count from nine or more to three.  By any
> measure I can find the enhancement looks substantial.

Minor in that it offers no advantage in size or performance, only a very 
minor syntactic sugar. All those uses have already been typed; it isn't 
really worth it to retype them.

> This just may be the first worthwhile control flow addition Forth has seen
> since ANS WHILE.  I'm conservative when it comes to Forth so I don't say
> that lightly.  If there are any issues with END, I want to hear about it.  I've
> seen too many additions to Forth that have languished unused.  I don't
> want it to be the case with END.

It's one more word to teach and remember, and people already complain 
there are too many. I wouldn't oppose it, I'm just not cheering for it.

Cheers,
Elizabeth

-- 
Elizabeth R. Conklin
FORTH, Inc.
6080 Center Drive, Suite 600
Los Angeles, CA  90045
USA

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


#54154

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2017-01-19 03:51 -0600
Message-ID<8IidnY1y4YG8ER3FnZ2dnUU7-TvNnZ2d@supernews.com>
In reply to#54142
Elizabeth D. Rather <erather@forth.com> wrote:
> On 1/18/17 4:04 PM, HAA wrote:
>> Elizabeth D. Rather wrote:
>>> On 1/17/17 7:15 PM, rickman wrote:
>>>> ...
>>>> What is the point of END?
>>>
>>> END is a pretty minor enhancement, which is why I questioned its value.
>>
>> Minor in what way?  Not in frequency where Forth Inc's own usage exceeds
>> that of REPEAT, or readability where it replaces means with effect, or in
>> typing where it reduces character count from nine or more to three.  By any
>> measure I can find the enhancement looks substantial.
> 
> Minor in that it offers no advantage in size or performance, only a very 
> minor syntactic sugar.

IMO it's not an enhancement, it's a step backwards for
maintainability.  Any word which exits from a defnition is highly
significant, and therefore should be highly visible in source code.
Maybe it could be called ##END## or somesuch.  A reader already has to
scan for EXIT and THROW to be able to see that a word exits in the
middle, and adding more words with abnormal control flow doesn't do
anyone any favours.

I'd certainly replace all instances of END with EXIT THEN if I were
maintaining the code.

Andrew.

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


#54156

Fromhheinrich.hohl@gmail.com
Date2017-01-19 02:28 -0800
Message-ID<dec53fd1-d048-4713-b6d0-9c5c2a0e9287@googlegroups.com>
In reply to#54154
On Thursday, January 19, 2017 at 10:51:34 AM UTC+1, Andrew Haley wrote:
> 
> IMO it's not an enhancement, it's a step backwards for
> maintainability.  Any word which exits from a defnition is highly
> significant, and therefore should be highly visible in source code.
> Maybe it could be called ##END## or somesuch.  A reader already has to
> scan for EXIT and THROW to be able to see that a word exits in the
> middle, and adding more words with abnormal control flow doesn't do
> anyone any favours.
> 
> I'd certainly replace all instances of END with EXIT THEN if I were
> maintaining the code.
> 
> Andrew.

I absolutely agree with Andrew. EXIT THEN is clear and readable.
END does not offer any benefit. It is just one word more to memorize.

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


#54199

From"HAA" <someone@microsoft.com>
Date2017-01-20 22:23 +1100
Message-ID<o5srug$1qs6$1@gioia.aioe.org>
In reply to#54156
hheinrich.hohl@gmail.com wrote:
> On Thursday, January 19, 2017 at 10:51:34 AM UTC+1, Andrew Haley wrote:
> >
> > IMO it's not an enhancement, it's a step backwards for
> > maintainability.  Any word which exits from a defnition is highly
> > significant, and therefore should be highly visible in source code.
> > Maybe it could be called ##END## or somesuch.  A reader already has to
> > scan for EXIT and THROW to be able to see that a word exits in the
> > middle, and adding more words with abnormal control flow doesn't do
> > anyone any favours.
> >
> > I'd certainly replace all instances of END with EXIT THEN if I were
> > maintaining the code.
> >
> > Andrew.
>
> I absolutely agree with Andrew. EXIT THEN is clear and readable.
> END does not offer any benefit. It is just one word more to memorize.

END is here, it's a factor and it can't be undone.  Elizabeth said she's not
opposed to END.  This is just as well because END is a game changer for
Forth.  Once END replaces EXIT THEN the need for EXIT largely vanishes.
The chances of seeing EXIT in Forth code again will be exceptional.  If the
consequence of END is a greatly diminished role for EXIT in Forth then so
be it.  The clock cannot be turned back.


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


#54208

Fromrickman <gnuarm@gmail.com>
Date2017-01-20 13:32 -0500
Message-ID<o5tl0r$c9i$1@dont-email.me>
In reply to#54199
On 1/20/2017 6:23 AM, HAA wrote:
> hheinrich.hohl@gmail.com wrote:
>> On Thursday, January 19, 2017 at 10:51:34 AM UTC+1, Andrew Haley wrote:
>>>
>>> IMO it's not an enhancement, it's a step backwards for
>>> maintainability.  Any word which exits from a defnition is highly
>>> significant, and therefore should be highly visible in source code.
>>> Maybe it could be called ##END## or somesuch.  A reader already has to
>>> scan for EXIT and THROW to be able to see that a word exits in the
>>> middle, and adding more words with abnormal control flow doesn't do
>>> anyone any favours.
>>>
>>> I'd certainly replace all instances of END with EXIT THEN if I were
>>> maintaining the code.
>>>
>>> Andrew.
>>
>> I absolutely agree with Andrew. EXIT THEN is clear and readable.
>> END does not offer any benefit. It is just one word more to memorize.
>
> END is here, it's a factor and it can't be undone.  Elizabeth said she's not
> opposed to END.  This is just as well because END is a game changer for
> Forth.  Once END replaces EXIT THEN the need for EXIT largely vanishes.
> The chances of seeing EXIT in Forth code again will be exceptional.  If the
> consequence of END is a greatly diminished role for EXIT in Forth then so
> be it.  The clock cannot be turned back.

Lol, as if the argument rests on the fact that all has been revealed!

I don't see any need for END.  I find it to be a disruption to 
structured programming which can also be said about EXIT itself.  I have 
never used either I'm pretty sure.  I just don't see any compelling need.

The example that has been kicked around for using END is a pretty weak 
one.  Adding the word CASE and ENDCASE and replacing END with ENDOF is 
not much of a price to pay for perfect clarity.  The only thing I find 
at all confusing about using CASE is the default case where the stack 
has to be manually manipulated with SWAP to leave an item on the stack 
before exiting.

All this nonsense about achieving the perfect efficiency is a bit extreme.

-- 

Rick C

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


#54217

From"Elizabeth D. Rather" <erather@forth.com>
Date2017-01-20 18:18 -1000
Message-ID<-v2dnZuEkpaEfB_FnZ2dnUU7-RPNnZ2d@supernews.com>
In reply to#54199
On 1/20/17 1:23 AM, HAA wrote:
> hheinrich.hohl@gmail.com wrote:
>> On Thursday, January 19, 2017 at 10:51:34 AM UTC+1, Andrew Haley wrote:
>>>
>>> IMO it's not an enhancement, it's a step backwards for
>>> maintainability.  Any word which exits from a defnition is highly
>>> significant, and therefore should be highly visible in source code.
>>> Maybe it could be called ##END## or somesuch.  A reader already has to
>>> scan for EXIT and THROW to be able to see that a word exits in the
>>> middle, and adding more words with abnormal control flow doesn't do
>>> anyone any favours.
>>>
>>> I'd certainly replace all instances of END with EXIT THEN if I were
>>> maintaining the code.
>>>
>>> Andrew.
>>
>> I absolutely agree with Andrew. EXIT THEN is clear and readable.
>> END does not offer any benefit. It is just one word more to memorize.
>
> END is here, it's a factor and it can't be undone.  Elizabeth said she's not
> opposed to END.  This is just as well because END is a game changer for
> Forth.  Once END replaces EXIT THEN the need for EXIT largely vanishes.
> The chances of seeing EXIT in Forth code again will be exceptional.  If the
> consequence of END is a greatly diminished role for EXIT in Forth then so
> be it.  The clock cannot be turned back.

Well, it remains to be seen how many people adopt it. I saw a distinct 
lack of enthusiasm. But we shall see.

Cheers,
Elizabeth

-- 
Elizabeth R. Conklin
FORTH, Inc.
6080 Center Drive, Suite 600
Los Angeles, CA  90045
USA

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


#54261

From"HAA" <someone@microsoft.com>
Date2017-01-23 12:00 +1100
Message-ID<o63kgv$boh$1@gioia.aioe.org>
In reply to#54217
Elizabeth D. Rather wrote:
> On 1/20/17 1:23 AM, HAA wrote:
> > hheinrich.hohl@gmail.com wrote:
> >> ...
> >> I absolutely agree with Andrew. EXIT THEN is clear and readable.
> >> END does not offer any benefit. It is just one word more to memorize.
> >
> > END is here, it's a factor and it can't be undone.  Elizabeth said she's not
> > opposed to END.  This is just as well because END is a game changer for
> > Forth.  Once END replaces EXIT THEN the need for EXIT largely vanishes.
> > The chances of seeing EXIT in Forth code again will be exceptional.  If the
> > consequence of END is a greatly diminished role for EXIT in Forth then so
> > be it.  The clock cannot be turned back.
>
> Well, it remains to be seen how many people adopt it. I saw a distinct
> lack of enthusiasm. But we shall see.
>
> Cheers,
> Elizabeth

Change is never popular but it will become apparent THEN in EXIT THEN
is not needed by the end-user.  It was just a prop used by the compiler at
compile-time to complete an address.  Nobody is worried the THEN in
REPEAT is not visible because it's not necessary in understanding what
occurs at run-time.  It's the same with END.  The compiler's need for THEN
should not be the burden of the programmer.  All he needs to know is the
effect at run-time, which is to exit the definition.  By hiding THEN within
END the result is simpler, more effect looking code.  And given the numbers
involved it will be dramatic.

I am bemused by statements coming from those who support and use
ANS WHILE (which does require some thought) that they will be unable
to cope with a simple substitution.  Personally I think they can and all
they are waiting for is leadership.  What I'm proposing should have been
in Forth from the beginning.  Perhaps nobody expected EXIT to be used
as much as it has.


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


#54263

Fromrickman <gnuarm@gmail.com>
Date2017-01-22 21:10 -0500
Message-ID<o63okc$jb2$1@dont-email.me>
In reply to#54261
On 1/22/2017 8:00 PM, HAA wrote:
> Elizabeth D. Rather wrote:
>> On 1/20/17 1:23 AM, HAA wrote:
>>> hheinrich.hohl@gmail.com wrote:
>>>> ...
>>>> I absolutely agree with Andrew. EXIT THEN is clear and readable.
>>>> END does not offer any benefit. It is just one word more to memorize.
>>>
>>> END is here, it's a factor and it can't be undone.  Elizabeth said she's not
>>> opposed to END.  This is just as well because END is a game changer for
>>> Forth.  Once END replaces EXIT THEN the need for EXIT largely vanishes.
>>> The chances of seeing EXIT in Forth code again will be exceptional.  If the
>>> consequence of END is a greatly diminished role for EXIT in Forth then so
>>> be it.  The clock cannot be turned back.
>>
>> Well, it remains to be seen how many people adopt it. I saw a distinct
>> lack of enthusiasm. But we shall see.
>>
>> Cheers,
>> Elizabeth
>
> Change is never popular but it will become apparent THEN in EXIT THEN
> is not needed by the end-user.  It was just a prop used by the compiler at
> compile-time to complete an address.  Nobody is worried the THEN in
> REPEAT is not visible because it's not necessary in understanding what
> occurs at run-time.  It's the same with END.  The compiler's need for THEN
> should not be the burden of the programmer.  All he needs to know is the
> effect at run-time, which is to exit the definition.  By hiding THEN within
> END the result is simpler, more effect looking code.  And given the numbers
> involved it will be dramatic.

I'm confused.  Isn't it important to indicate where the execution will 
proceed if that case is not utilized?  That is what THEN does and that 
seems important.


> I am bemused by statements coming from those who support and use
> ANS WHILE (which does require some thought) that they will be unable
> to cope with a simple substitution.  Personally I think they can and all
> they are waiting for is leadership.  What I'm proposing should have been
> in Forth from the beginning.  Perhaps nobody expected EXIT to be used
> as much as it has.

What is special about WHILE that requires thought?  The only thing 
different about a Forth WHILE from other languages is that it can be at 
any point in the loop while in most languages it has to be at the top. 
That is the case that requires thought.  I can't tell you how many times 
I wanted the condition evaluation in a C loop to be in the middle so I 
could have initial code before evaluating the exit condition inside the 
loop rather than having to repeat it before the loop.

I have used EXIT in my code, but for error handling.

0= IF EXIT THEN

or similar occurs in a number of places.

I don't see how making it

0= IF END

would make the code any better.

In reality these likely should have all been replaced by catch and throw.

-- 

Rick C

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


#54283

FromMark Wills <markwills1970@gmail.com>
Date2017-01-23 01:22 -0800
Message-ID<1389d119-e2c7-4321-8e54-646107bf6260@googlegroups.com>
In reply to#54263
On Monday, 23 January 2017 02:10:57 UTC, rickman  wrote:
<snippage>
> 
> I don't see how making it
> 
> 0= IF END
> 
> would make the code any better.
> 
> In reality these likely should have all been replaced by catch and throw.
> 
> -- 
> 
> Rick C

Just use:

0= ?EXIT

(if your system has it. If not, add it. It's Forth).

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


#54292

Fromrickman <gnuarm@gmail.com>
Date2017-01-23 06:03 -0500
Message-ID<o64nr6$k60$1@dont-email.me>
In reply to#54283
On 1/23/2017 4:22 AM, Mark Wills wrote:
> On Monday, 23 January 2017 02:10:57 UTC, rickman  wrote:
> <snippage>
>>
>> I don't see how making it
>>
>> 0= IF END
>>
>> would make the code any better.
>>
>> In reality these likely should have all been replaced by catch and throw.
>>
>> --
>>
>> Rick C
>
> Just use:
>
> 0= ?EXIT
>
> (if your system has it. If not, add it. It's Forth).

Yeah, that's an option.  But I'm a bit confused.  I thought an immediate 
word is one that gets executed at compile time rather than being 
compiled.  Here is how it is defined in Win32Forth

: ?EXIT         IF EXIT THEN ; IMMEDIATE

I wrote a test and it works, so obviously I am missing something... or a 
lot...

If EXIT is inside a word like ?EXIT, won't it simply exit from *that* 
word and not the word ?EXIT is used in?

-- 

Rick C

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


#54332

FromCoos Haak <htrofhc@gmail.com>
Date2017-01-24 02:27 +0100
Message-ID<1f9ajev8xnr0g$.15x5t2mum0u1d$.dlg@40tude.net>
In reply to#54292
Op Mon, 23 Jan 2017 06:03:40 -0500 schreef rickman:

> On 1/23/2017 4:22 AM, Mark Wills wrote:
>> On Monday, 23 January 2017 02:10:57 UTC, rickman  wrote:
>> <snippage>
>>>
>>> I don't see how making it
>>>
>>> 0= IF END
>>>
>>> would make the code any better.
>>>
>>> In reality these likely should have all been replaced by catch and throw.
>>>
>>> --
>>>
>>> Rick C
>>
>> Just use:
>>
>> 0= ?EXIT
>>
>> (if your system has it. If not, add it. It's Forth).
> 
> Yeah, that's an option.  But I'm a bit confused.  I thought an immediate 
> word is one that gets executed at compile time rather than being 
> compiled.  Here is how it is defined in Win32Forth
> 
>: ?EXIT         IF EXIT THEN ; IMMEDIATE
> 
> I wrote a test and it works, so obviously I am missing something... or a 
> lot...
> 
> If EXIT is inside a word like ?EXIT, won't it simply exit from *that* 
> word and not the word ?EXIT is used in?

It isn't defined like that, SEE is misleading in this case. Try this:

: ?EXIT POSTPONE IF POSTPONE EXIT POSTPONE THEN ; IMMEDIATE

groet Coos

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


#54341

Fromrickman <gnuarm@gmail.com>
Date2017-01-24 04:00 -0500
Message-ID<o674vj$frh$1@dont-email.me>
In reply to#54332
On 1/23/2017 8:27 PM, Coos Haak wrote:
> Op Mon, 23 Jan 2017 06:03:40 -0500 schreef rickman:
>
>> On 1/23/2017 4:22 AM, Mark Wills wrote:
>>> On Monday, 23 January 2017 02:10:57 UTC, rickman  wrote:
>>> <snippage>
>>>>
>>>> I don't see how making it
>>>>
>>>> 0= IF END
>>>>
>>>> would make the code any better.
>>>>
>>>> In reality these likely should have all been replaced by catch and throw.
>>>>
>>>> --
>>>>
>>>> Rick C
>>>
>>> Just use:
>>>
>>> 0= ?EXIT
>>>
>>> (if your system has it. If not, add it. It's Forth).
>>
>> Yeah, that's an option.  But I'm a bit confused.  I thought an immediate
>> word is one that gets executed at compile time rather than being
>> compiled.  Here is how it is defined in Win32Forth
>>
>> : ?EXIT         IF EXIT THEN ; IMMEDIATE
>>
>> I wrote a test and it works, so obviously I am missing something... or a
>> lot...
>>
>> If EXIT is inside a word like ?EXIT, won't it simply exit from *that*
>> word and not the word ?EXIT is used in?
>
> It isn't defined like that, SEE is misleading in this case. Try this:
>
> : ?EXIT POSTPONE IF POSTPONE EXIT POSTPONE THEN ; IMMEDIATE

Ok, I guess you are right.  Using locate I get this...

--------------------------------------------------------------------------------------------------------------------------
: ?EXIT         ( F1 -- )
--------------------------------------------------------------------------------------------------------------------------
\                EXIT_A
                 [COMPILE]  IF
                 [COMPILE]  EXIT
                 [COMPILE]  THEN ; IMMEDIATE

|: DOES>_A      ( -- )
                 ?COMP
                 ?:M     ( -- F1 )
                 FALSE TO ?:M
                         ( -- f1 ) THROW_METHDOES> ?THROW \ Can't use 
DOES> in a Method
                 PARMS
                 IF      COMPILE _LOCALFREE
                         COMPILE PARMS-INIT
                 THEN
                 ;
--------------------------------------------------------------------------------------------------------------------------

Not sure what this all does, but it's too late for me to figure it out.

-- 

Rick C

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


#54352

FromAlex <alex@rivadpm.com>
Date2017-01-24 07:49 -0500
Message-ID<o67iea$rtv$1@dont-email.me>
In reply to#54341
On 1/24/2017 04:00, rickman wrote:
> On 1/23/2017 8:27 PM, Coos Haak wrote:
>> Op Mon, 23 Jan 2017 06:03:40 -0500 schreef rickman:
>>
>>> On 1/23/2017 4:22 AM, Mark Wills wrote:
>>>> On Monday, 23 January 2017 02:10:57 UTC, rickman  wrote:
>>>> <snippage>
>>>>>
>>>>> I don't see how making it
>>>>>
>>>>> 0= IF END
>>>>>
>>>>> would make the code any better.
>>>>>
>>>>> In reality these likely should have all been replaced by
>>>>> catch and throw.
>>>>>
>>>>> --
>>>>>
>>>>> Rick C
>>>>
>>>> Just use:
>>>>
>>>> 0= ?EXIT
>>>>
>>>> (if your system has it. If not, add it. It's Forth).
>>>
>>> Yeah, that's an option.  But I'm a bit confused.  I thought an
>>> immediate word is one that gets executed at compile time rather
>>> than being compiled.  Here is how it is defined in Win32Forth
>>>
>>> : ?EXIT         IF EXIT THEN ; IMMEDIATE
>>>
>>> I wrote a test and it works, so obviously I am missing
>>> something... or a lot...
>>>
>>> If EXIT is inside a word like ?EXIT, won't it simply exit from
>>> *that* word and not the word ?EXIT is used in?
>>
>> It isn't defined like that, SEE is misleading in this case. Try
>> this:
>>
>> : ?EXIT POSTPONE IF POSTPONE EXIT POSTPONE THEN ; IMMEDIATE
>
> Ok, I guess you are right.  Using locate I get this...
>
> --------------------------------------------------------------------------------------------------------------------------
>
>  : ?EXIT         ( F1 -- )
> --------------------------------------------------------------------------------------------------------------------------
>
>  \                EXIT_A [COMPILE]  IF [COMPILE]  EXIT [COMPILE]
> THEN ; IMMEDIATE
>

It's Win32Forth. [COMPILE] is like POSTPONE where the word following is
IMMEDIATE. POSTPONE would be clearer here.

> |: DOES>_A      ( -- ) ?COMP ?:M     ( -- F1 ) FALSE TO ?:M ( -- f1 )
> THROW_METHDOES> ?THROW \ Can't use DOES> in a Method PARMS IF
> COMPILE _LOCALFREE COMPILE PARMS-INIT THEN ;
> --------------------------------------------------------------------------------------------------------------------------
>
>
>
> Not sure what this all does, but it's too late for me to figure it
> out.
>

The bit above isn't relevant; it's to do with DOES>

-- 
Alex

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


Page 6 of 14 — ← Prev page 1 … 4 5 [6] 7 8 … 14  Next page →

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


csiph-web