Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #54064 > unrolled thread
| Started by | "HAA" <someone@microsoft.com> |
|---|---|
| First post | 2017-01-17 12:17 +1100 |
| Last post | 2017-03-26 01:52 -0700 |
| Articles | 20 on this page of 269 — 27 participants |
Back to article view | Back to comp.lang.forth
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 →
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Andrew Haley <andrew29@littlepinkcloud.invalid> |
|---|---|
| Date | 2017-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]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-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]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2017-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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2017-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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2017-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]
| From | Andrew Haley <andrew29@littlepinkcloud.invalid> |
|---|---|
| Date | 2017-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]
| From | hheinrich.hohl@gmail.com |
|---|---|
| Date | 2017-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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-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]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2017-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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-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]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Mark Wills <markwills1970@gmail.com> |
|---|---|
| Date | 2017-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]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Coos Haak <htrofhc@gmail.com> |
|---|---|
| Date | 2017-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]
| From | rickman <gnuarm@gmail.com> |
|---|---|
| Date | 2017-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]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-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