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 11 of 14 — ← Prev page 1 … 9 10 [11] 12 13 14 Next page →
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-21 19:26 +0000 |
| Message-ID | <oarujs$rkg$1@dont-email.me> |
| In reply to | #56040 |
On 3/21/2017 19:24, Helmar Wodtke wrote: > Am Dienstag, 21. März 2017 20:16:31 UTC+1 schrieb Alex: > >>> : ENDOF` ELSE` ; \ -- CS: p1 -- p2 > >> : ENDOF >R ]] ELSE [[ R> ; IMMEDIATE > > Of course. Implementation differs, as my implementation puts a 0 (zero) to stack to determinate where ENDOF has to stop action. It's legal to do so, as the ELSE-sys on compilation stack should not be zero usually... In my case the ENDOF is indeed only syntactical sugar for ELSE. > > Regards, > -Helmar > But the 0 gets in the way of the p1 -- p2 on the control stack. -- Alex
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-21 12:32 -0700 |
| Message-ID | <cba2e7cd-83ad-4b94-b4e3-b51563e8fd1e@googlegroups.com> |
| In reply to | #56042 |
Am Dienstag, 21. März 2017 20:26:36 UTC+1 schrieb Alex:
> On 3/21/2017 19:24, Helmar Wodtke wrote:
> > Am Dienstag, 21. März 2017 20:16:31 UTC+1 schrieb Alex:
> >
> >>> : ENDOF` ELSE` ; \ -- CS: p1 -- p2
> >
> >> : ENDOF >R ]] ELSE [[ R> ; IMMEDIATE
> >
> > Of course. Implementation differs, as my implementation puts a 0 (zero) to stack to determinate where ENDOF has to stop action. It's legal to do so, as the ELSE-sys on compilation stack should not be zero usually... In my case the ENDOF is indeed only syntactical sugar for ELSE.
> >
> > Regards,
> > -Helmar
> >
>
> But the 0 gets in the way of the p1 -- p2 on the control stack.
Why?
: foo
[ 0 ] \ CS:0
2 OVER = IF \ CS: 0 IF-sys
do-something
ELSE \ CS: 0 ELSE-sys
...
\ CS: 0 ELSE-sys1 ELSE-sys2...
ENDOF \ CS: --
;
Regards,
-Helmar
[toc] | [prev] | [next] | [standalone]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-21 19:51 +0000 |
| Message-ID | <oas03d$1o6$1@dont-email.me> |
| In reply to | #56043 |
On 3/21/2017 19:32, Helmar Wodtke wrote: > Am Dienstag, 21. März 2017 20:26:36 UTC+1 schrieb Alex: >> On 3/21/2017 19:24, Helmar Wodtke wrote: >>> Am Dienstag, 21. März 2017 20:16:31 UTC+1 schrieb Alex: >>> >>>>> : ENDOF` ELSE` ; \ -- CS: >>>>> p1 -- p2 >>> >>>> : ENDOF >R ]] ELSE [[ R> ; IMMEDIATE >>> >>> Of course. Implementation differs, as my implementation puts a 0 >>> (zero) to stack to determinate where ENDOF has to stop action. >>> It's legal to do so, as the ELSE-sys on compilation stack should >>> not be zero usually... In my case the ENDOF is indeed only >>> syntactical sugar for ELSE. >>> >>> Regards, -Helmar >>> >> >> But the 0 gets in the way of the p1 -- p2 on the control stack. > > Why? > > : foo [ 0 ] \ CS:0 2 OVER = IF \ CS: 0 IF-sys do-something ELSE \ CS: > 0 ELSE-sys ... \ CS: 0 ELSE-sys1 ELSE-sys2... ENDOF \ CS: -- ; > > Regards, -Helmar > Ah, now I see. Magic number of 0; so an ORIG never contains a zero as its rightmost value. That requires carnal knowledge. -- Alex
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-21 12:56 -0700 |
| Message-ID | <5636c784-689b-43cd-8dad-9c62b24b9a5e@googlegroups.com> |
| In reply to | #56048 |
Am Dienstag, 21. März 2017 20:51:57 UTC+1 schrieb Alex: > On 3/21/2017 19:32, Helmar Wodtke wrote: > > Am Dienstag, 21. März 2017 20:26:36 UTC+1 schrieb Alex: > >> On 3/21/2017 19:24, Helmar Wodtke wrote: > >>> Am Dienstag, 21. März 2017 20:16:31 UTC+1 schrieb Alex: > >>> > >>>>> : ENDOF` ELSE` ; \ -- CS: > >>>>> p1 -- p2 > >>> > >>>> : ENDOF >R ]] ELSE [[ R> ; IMMEDIATE > >>> > >>> Of course. Implementation differs, as my implementation puts a 0 > >>> (zero) to stack to determinate where ENDOF has to stop action. > >>> It's legal to do so, as the ELSE-sys on compilation stack should > >>> not be zero usually... In my case the ENDOF is indeed only > >>> syntactical sugar for ELSE. > >>> > >>> Regards, -Helmar > >>> > >> > >> But the 0 gets in the way of the p1 -- p2 on the control stack. > > > > Why? > > > > : foo [ 0 ] \ CS:0 2 OVER = IF \ CS: 0 IF-sys do-something ELSE \ CS: > > 0 ELSE-sys ... \ CS: 0 ELSE-sys1 ELSE-sys2... ENDOF \ CS: -- ; > > > > Regards, -Helmar > > > > Ah, now I see. Magic number of 0; so an ORIG never contains a zero as > its rightmost value. That requires carnal knowledge. Of course you could construct a Forth where this is not true. If you have syntax control on CS, it would have to be the case that THEN is defined in a way like : THEN 0 ?PAIRS ... ; IMMEDIATE That's really unlikely. And in all other cases ELSE-sys is some pointer. Usually the IF does not occur at position 0... So what ;) Regards, -Helmar
[toc] | [prev] | [next] | [standalone]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-21 21:02 +0000 |
| Message-ID | <oas471$gt5$1@dont-email.me> |
| In reply to | #56049 |
On 3/21/2017 19:56, Helmar Wodtke wrote:
> That's really unlikely. And in all other cases ELSE-sys is some
> pointer. Usually the IF does not occur at position 0... So what ;)
A big so what. My Forth uses a triple ORIG which carries information for
the compile beyond the usual "pointer" information.
(A complete aside as to why.)
The format of all control flow stack entries is {P M B}, where P is the
traditional pointer; M is a pointer (or marker) to a part of a DAG where
this ORIG was generated; and B is a set of bits that identify the word
that generated the ORIG, and how to handle it. It might be zero. Every
compiled word puts information on the control flow stack. Code
generation is delayed for as long as possible (the goal is until we
encounter an EXECUTE, but I'm not quite there yet).
For example
: foo ( f -- v ) if 10 else 20 then ;
There's control flow information when we get to ; that indicates it's
actually the target of a jump because of the THEN preceding it. If, as
in this case, we could generate a simple RET for ; then the jump
generated by the ELSE can be replaced by a RET. In other words, the code
is rewritten to compile
: foo ( f -- v ) if 10 exit then 20 ;
There are a number of other optimizations in this case; it could get
rewritten to
: foo :if 10 :else 20 :then ;
encoding as the branchless (EAX is top of stack)
test eax eax :if
mov eax
10 10
mov edx :else
20 20
cmovnz eax edx :then
ret
Because code generation can be delayed, this;
: bar true foo ;
allows rewrite of BAR as
: bar 10 ;
since we know the result at compile time.
I've only got the simplest cases working so far; it's a long term
project that I've been working on for 10 years or so. Another decade
should see it finished.
Back to the 0 case; your code would fail on my compiler, since the B
field is currently 0 while I build the optimizer.
--
Alex
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-21 14:15 -0700 |
| Message-ID | <3c17e149-b41f-4876-89d1-b5e3eede1535@googlegroups.com> |
| In reply to | #56058 |
Am Dienstag, 21. März 2017 22:02:09 UTC+1 schrieb Alex:
> On 3/21/2017 19:56, Helmar Wodtke wrote:
> > That's really unlikely. And in all other cases ELSE-sys is some
> > pointer. Usually the IF does not occur at position 0... So what ;)
>
> A big so what. My Forth uses a triple ORIG which carries information for
> the compile beyond the usual "pointer" information.
>
> (A complete aside as to why.)
>
> The format of all control flow stack entries is {P M B}, where P is the
> traditional pointer; M is a pointer (or marker) to a part of a DAG where
> this ORIG was generated; and B is a set of bits that identify the word
> that generated the ORIG, and how to handle it. It might be zero. Every
> compiled word puts information on the control flow stack. Code
> generation is delayed for as long as possible (the goal is until we
> encounter an EXECUTE, but I'm not quite there yet).
>
> For example
>
> : foo ( f -- v ) if 10 else 20 then ;
>
> There's control flow information when we get to ; that indicates it's
> actually the target of a jump because of the THEN preceding it. If, as
> in this case, we could generate a simple RET for ; then the jump
> generated by the ELSE can be replaced by a RET. In other words, the code
> is rewritten to compile
>
> : foo ( f -- v ) if 10 exit then 20 ;
>
> There are a number of other optimizations in this case; it could get
> rewritten to
>
> : foo :if 10 :else 20 :then ;
>
> encoding as the branchless (EAX is top of stack)
>
> test eax eax :if
> mov eax
> 10 10
> mov edx :else
> 20 20
> cmovnz eax edx :then
> ret
>
> Because code generation can be delayed, this;
>
> : bar true foo ;
>
> allows rewrite of BAR as
>
> : bar 10 ;
>
> since we know the result at compile time.
>
> I've only got the simplest cases working so far; it's a long term
> project that I've been working on for 10 years or so. Another decade
> should see it finished.
>
> Back to the 0 case; your code would fail on my compiler, since the B
> field is currently 0 while I build the optimizer.
>
> --
> Alex
You put 3 entries on stack for control flow?! OK. I know CS-PICK/CS-ROLL etc. to access this. But why not make a special stack (or behaviour) for this then. Even DPANS does not expect the control flow to be on "normal" stack. You could make an stack with attributes... You could maintain a kind of simplicity for thumb code like I posted and still work as you want...
Or you add syntax control...
Regards,
-Helmar
[toc] | [prev] | [next] | [standalone]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-21 21:36 +0000 |
| Message-ID | <oas67o$o0a$1@dont-email.me> |
| In reply to | #56059 |
On 3/21/2017 21:15, Helmar Wodtke wrote: > Am Dienstag, 21. März 2017 22:02:09 UTC+1 schrieb Alex: >> On 3/21/2017 19:56, Helmar Wodtke wrote: >>> That's really unlikely. And in all other cases ELSE-sys is some >>> pointer. Usually the IF does not occur at position 0... So what >>> ;) >> >> A big so what. My Forth uses a triple ORIG which carries >> information for the compile beyond the usual "pointer" >> information. >> > > You put 3 entries on stack for control flow?! OK. I know > CS-PICK/CS-ROLL etc. to access this. But why not make a special stack > (or behaviour) for this then. Even DPANS does not expect the control > flow to be on "normal" stack. It permits it. (I suspect most Forths use the data stack as a control flow stack, but I have no confirmation of that.) > You could make an stack with > attributes... You could maintain a kind of simplicity for thumb code > like I posted and still work as you want... Why use another stack? The data stack is there, and it's easy to use, and doesn't require another stack and a whole bunch of CS-DEPTH CS-PUSH CS-DUP CS-OVER and and and etc only for compile time. The attributes are the M and B fields (and I suspect the B field will not be required in the long run). > > Or you add syntax control... What is that? -- Alex
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-21 15:12 -0700 |
| Message-ID | <acdf45a3-43d8-465d-a2df-5b56bf866aee@googlegroups.com> |
| In reply to | #56061 |
Am Dienstag, 21. März 2017 22:36:40 UTC+1 schrieb Alex: > > Or you add syntax control... > > What is that? Mhm, something I personally do not like that much... But you could have a word : ?PAIRS <> IF ABORT" SYNTAX ERROR" THEN ; / CS: a b -- The numbers you want to have are arbitrary - so for example IF or ELSE could create a zero on stack. It's used like : ` POSTPONE POSTPONE ; IMMEDIATE : IF ` IF 3 ; IMMEDIATE : ELSE 3 ?PAIRS ` ELSE 4 ; IMMEDIATE : THEN 3 OF 4 THEN 4 ?PAIRS ` THEN ; IMMEDIATE (I hope you got the Borg joke about it ;) ) Regards, -Helmar
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-21 16:13 -0700 |
| Message-ID | <b72efd30-c108-43d1-9385-a5e3a5121c10@googlegroups.com> |
| In reply to | #56064 |
Am Dienstag, 21. März 2017 23:12:24 UTC+1 schrieb Helmar Wodtke: > Am Dienstag, 21. März 2017 22:36:40 UTC+1 schrieb Alex: > > > > Or you add syntax control... > > > > What is that? > > Mhm, something I personally do not like that much... > But you could have a word > > : ?PAIRS <> IF ABORT" SYNTAX ERROR" THEN ; / CS: a b -- : ?PAIRS <> ABORT" SYNTAX ERROR" ; \ CS: a b -- ABORT" takes a flag by it's own. So to force error you would have to do TRUE ABORT" ... I did not realize, that this word is in DPANS... So well, but you can do ?PAIRS simpler this way... > > The numbers you want to have are arbitrary - so for example IF or ELSE could create a zero on stack. It's used like > > : ` POSTPONE POSTPONE ; IMMEDIATE > : IF ` IF 3 ; IMMEDIATE > : ELSE 3 ?PAIRS ` ELSE 4 ; IMMEDIATE > : THEN 3 OF 4 THEN 4 ?PAIRS ` THEN ; IMMEDIATE > > (I hope you got the Borg joke about it ;) ) > > Regards, > -Helmar
[toc] | [prev] | [next] | [standalone]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-22 09:16 +0000 |
| Message-ID | <oatf76$tj5$2@dont-email.me> |
| In reply to | #56064 |
On 3/21/2017 22:12, Helmar Wodtke wrote: > Am Dienstag, 21. März 2017 22:36:40 UTC+1 schrieb Alex: > >>> Or you add syntax control... >> >> What is that? > > Mhm, something I personally do not like that much... But you could > have a word > > : ?PAIRS <> IF ABORT" SYNTAX ERROR" THEN ; / CS: a b -- > > The numbers you want to have are arbitrary - so for example IF or > ELSE could create a zero on stack. It's used like > > : ` POSTPONE POSTPONE ; IMMEDIATE : IF ` IF 3 ; IMMEDIATE : ELSE 3 > ?PAIRS ` ELSE 4 ; IMMEDIATE : THEN 3 OF 4 THEN 4 ?PAIRS ` THEN ; > IMMEDIATE > > (I hope you got the Borg joke about it ;) ) > > Regards, -Helmar > That's an attempt to type the CS stack contents. It doesn't add much semantic meaning to the process, which is what I'm trying to do. -- Alex
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-22 03:35 -0700 |
| Message-ID | <04dc05d6-eb2b-4ae4-8b61-a29ebcc2a63c@googlegroups.com> |
| In reply to | #56085 |
Am Mittwoch, 22. März 2017 10:16:06 UTC+1 schrieb Alex: > On 3/21/2017 22:12, Helmar Wodtke wrote: > > Am Dienstag, 21. März 2017 22:36:40 UTC+1 schrieb Alex: > > > >>> Or you add syntax control... > >> > >> What is that? > > > > Mhm, something I personally do not like that much... But you could > > have a word > > > > : ?PAIRS <> IF ABORT" SYNTAX ERROR" THEN ; / CS: a b -- > > > > The numbers you want to have are arbitrary - so for example IF or > > ELSE could create a zero on stack. It's used like > > > > : ` POSTPONE POSTPONE ; IMMEDIATE : IF ` IF 3 ; IMMEDIATE : ELSE 3 > > ?PAIRS ` ELSE 4 ; IMMEDIATE : THEN 3 OF 4 THEN 4 ?PAIRS ` THEN ; > > IMMEDIATE > > > > (I hope you got the Borg joke about it ;) ) > > > > Regards, -Helmar > > > > That's an attempt to type the CS stack contents. It doesn't add much > semantic meaning to the process, which is what I'm trying to do. Sure, I told you I personally do not like it that much... But "semantics" it adds - depending on what numbers you put on the CS stack. You could identify that you are inside IF/THEN and such. I see it as tool for debugging - you can implement it if you need it. Regarding "semantics" I'm not sure what you want to have. I'm with my JIT in HelFORTH perfectly OK with only having TC compilation result. I dont need more and would not really know why to implement CS-entries that are longer than 1 value. Optimizations can be done by loophole optimizer in TC (what would cause some problems like tail call optimization) and later in the JIT (that is a target compiler from TC to target...) Regards, -Helmar > -- > Alex
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-21 13:33 -0700 |
| Message-ID | <bf85a51f-4033-412e-8505-8d8f9287da4a@googlegroups.com> |
| In reply to | #56048 |
Am Dienstag, 21. März 2017 20:51:57 UTC+1 schrieb Alex: > On 3/21/2017 19:32, Helmar Wodtke wrote: > > Am Dienstag, 21. März 2017 20:26:36 UTC+1 schrieb Alex: > >> On 3/21/2017 19:24, Helmar Wodtke wrote: > >>> Am Dienstag, 21. März 2017 20:16:31 UTC+1 schrieb Alex: > >>> > >>>>> : ENDOF` ELSE` ; \ -- CS: > >>>>> p1 -- p2 > >>> > >>>> : ENDOF >R ]] ELSE [[ R> ; IMMEDIATE > >>> > >>> Of course. Implementation differs, as my implementation puts a 0 > >>> (zero) to stack to determinate where ENDOF has to stop action. > >>> It's legal to do so, as the ELSE-sys on compilation stack should > >>> not be zero usually... In my case the ENDOF is indeed only > >>> syntactical sugar for ELSE. > >>> > >>> Regards, -Helmar > >>> > >> > >> But the 0 gets in the way of the p1 -- p2 on the control stack. > > > > Why? > > > > : foo [ 0 ] \ CS:0 2 OVER = IF \ CS: 0 IF-sys do-something ELSE \ CS: > > 0 ELSE-sys ... \ CS: 0 ELSE-sys1 ELSE-sys2... ENDOF \ CS: -- ; > > > > Regards, -Helmar > > > > Ah, now I see. Magic number of 0; so an ORIG never contains a zero as > its rightmost value. That requires carnal knowledge. > > -- > Alex BTW, to make the thing more interesting for failure, but for to have to have more carnal knowledge: : ` POSTPONE POSTPONE ; IMMEDIATE VARIABLE OF-MARKER : CASE OF-MARKER ; IMMEDIATE : OF ` OVER ` = ` IF ` DROP ; IMMEDIATE : ENDOF ` ELSE ; IMMEDIATE : ENDCASE BEGIN DUP OF-MARKER <> WHILE ` THEN REPEAT DROP ; IMMEDIATE This works with gforth (tested), but should work with others too. This looks legal? But OF-MARKER is as useful as 0 (zero). You see the problem? Zero is probably the better choice. And zero needs less arcane knowledge to see what is does. Implementations, where "zero" could not be a marker, seems to be really unlikely. Regards, -Helmar
[toc] | [prev] | [next] | [standalone]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-21 17:51 +0000 |
| Message-ID | <oarp1l$7k4$1@dont-email.me> |
| In reply to | #56009 |
On 3/21/2017 15:21, HAA wrote:
> Jan Coombs wrote:
>> On Mon, 20 Mar 2017 06:32:09 -0700 (PDT)
>> Helmar Wodtke <helmwo@gmail.com> wrote:
>>
>> [ about : END POSTPONE EXIT POSTPONE THEN ; IMMEDIATE or
>> similar]
>>
>>> This word I know as ";THEN". It's basically useful for smaller
>>> source definitions (for example if you want to write word
>>> definition on one line).
>>
>> Yes, ";THEN" catches my eye much more meaningfully than "END",
>> thanks for sharing.
>>
>> Jan Coombs
>
> Disagree. The action is to terminate. ;THEN suggests the opposite...
>
> : substitute ( c1 -- c2 )
> [char] [ of [char] ( ;then
> [char] ] of [char] ) ;then
> [char] { of [char] ( ;then
> [char] } of [char] ) ;then ;
>
> : substitute ( c1 -- c2 )
> [char] [ of [char] ( end
> [char] ] of [char] ) end
> [char] { of [char] ( end
> [char] } of [char] ) end ;
>
>
Is ELSE allowed?
1 of 2 else 3 end
2 of 4 else 5 end
--
Alex
[toc] | [prev] | [next] | [standalone]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-21 18:59 +0000 |
| Message-ID | <oart0c$lrg$1@dont-email.me> |
| In reply to | #56009 |
On 3/21/2017 15:21, HAA wrote:
> Jan Coombs wrote:
>> On Mon, 20 Mar 2017 06:32:09 -0700 (PDT)
>> Helmar Wodtke <helmwo@gmail.com> wrote:
>>
>> [ about : END POSTPONE EXIT POSTPONE THEN ; IMMEDIATE or
>> similar]
>>
>>> This word I know as ";THEN". It's basically useful for smaller
>>> source definitions (for example if you want to write word
>>> definition on one line).
>>
>> Yes, ";THEN" catches my eye much more meaningfully than "END",
>> thanks for sharing.
>>
>> Jan Coombs
>
> Disagree. The action is to terminate. ;THEN suggests the opposite...
>
> : substitute ( c1 -- c2 )
> [char] [ of [char] ( ;then
> [char] ] of [char] ) ;then
> [char] { of [char] ( ;then
> [char] } of [char] ) ;then ;
>
> : substitute ( c1 -- c2 )
> [char] [ of [char] ( end
> [char] ] of [char] ) end
> [char] { of [char] ( end
> [char] } of [char] ) end ;
>
>
>
Chuck Moore http://www.ultratechnology.com/1xforth.htm (There's much I
disagree about here, but in the context of the current discussion...)
<Chuck>
In Classic Forth we used
IF ELSE THEN
And I have eliminated ELSE.
I don't see that ELSE is as useful as the complexity it introduces would
justify. You can see this in my code. I will have IF with a semicolon
and then I will exit the definition at that point or continue.
IF ~~~ ; THEN
I have the two way branch but using the new feature of a semicolon which
does not end a definition.
...
In fact in all my latest Forths semicolon kind of meant either return or
jump depending on the context and it's optimized in the compiler to do
that.
--
Alex
[toc] | [prev] | [next] | [standalone]
| From | Mark Wills <markwills1970@gmail.com> |
|---|---|
| Date | 2017-03-21 12:07 -0700 |
| Message-ID | <f17fe550-ba10-45fb-8c72-1584c049c396@googlegroups.com> |
| In reply to | #56032 |
On Tuesday, 21 March 2017 18:59:08 UTC, Alex wrote: > > In fact in all my latest Forths semicolon kind of meant either return or > jump depending on the context and it's optimized in the compiler to do > that. > > -- > Alex Chuck protests at the complexity of ELSE and "solves" it by making ; more complex. In order to understand Chuck's code I have to "problem solve" by determining when ; means end, and when it doesn't. I'll stick with ELSE, thanks!
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-21 12:17 -0700 |
| Message-ID | <6b6e981c-9ec0-415f-a1d0-d38abe8436ce@googlegroups.com> |
| In reply to | #56035 |
Am Dienstag, 21. März 2017 20:07:58 UTC+1 schrieb Mark Wills: > On Tuesday, 21 March 2017 18:59:08 UTC, Alex wrote: > > > > In fact in all my latest Forths semicolon kind of meant either return or > > jump depending on the context and it's optimized in the compiler to do > > that. > > > > -- > > Alex > > Chuck protests at the complexity of ELSE and "solves" it by making ; more > complex. In order to understand Chuck's code I have to "problem solve" by > determining when ; means end, and when it doesn't. > > I'll stick with ELSE, thanks! Was it ColorForth? In this case there is a lot that would not fit DPANS-thinking... I btw. also try to avoid ELSE. I use AND: and OR: if possible. By using ;THEN there is the ELSE-part behind ;THEN. But I still have ELSE too and use it from time to time... Regards, -Helmar
[toc] | [prev] | [next] | [standalone]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-03-22 20:08 +1100 |
| Message-ID | <oatepl$cqd$1@gioia.aioe.org> |
| In reply to | #56039 |
Helmar Wodtke wrote: > ... > I btw. also try to avoid ELSE. I use AND: and OR: if possible. By using ;THEN there is > the ELSE-part behind ;THEN. But I still have ELSE too and use it from time to time... > > Regards, > -Helmar Agreed. There is a difference between having ELSE and misusing it. ANS-CASE is an example of misusing ELSE.
[toc] | [prev] | [next] | [standalone]
| From | Alex <alex@rivadpm.com> |
|---|---|
| Date | 2017-03-22 09:18 +0000 |
| Message-ID | <oatfb5$tj5$3@dont-email.me> |
| In reply to | #56083 |
On 3/22/2017 09:08, HAA wrote: > Helmar Wodtke wrote: >> ... >> I btw. also try to avoid ELSE. I use AND: and OR: if possible. By using ;THEN there is >> the ELSE-part behind ;THEN. But I still have ELSE too and use it from time to time... >> >> Regards, >> -Helmar > > Agreed. There is a difference between having ELSE and misusing it. ANS-CASE is > an example of misusing ELSE. > ANS Forth doesn't tell you how to implement CASE. -- Alex
[toc] | [prev] | [next] | [standalone]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2017-03-22 22:25 +1100 |
| Message-ID | <oatmqs$t6q$1@gioia.aioe.org> |
| In reply to | #56086 |
Alex wrote: > On 3/22/2017 09:08, HAA wrote: > > Helmar Wodtke wrote: > >> ... > >> I btw. also try to avoid ELSE. I use AND: and OR: if possible. By using ;THEN there > >> is the ELSE-part behind ;THEN. But I still have ELSE too and use it from time to > >> time... > >> > >> Regards, > >> -Helmar > > > > Agreed. There is a difference between having ELSE and misusing it. ANS-CASE is > > an example of misusing ELSE. > > > > ANS Forth doesn't tell you how to implement CASE. How many ways are there to implement a straight-jacket?
[toc] | [prev] | [next] | [standalone]
| From | Helmar Wodtke <helmwo@gmail.com> |
|---|---|
| Date | 2017-03-22 04:46 -0700 |
| Message-ID | <9820cda2-1b4c-485c-907b-3679c0a3bdf0@googlegroups.com> |
| In reply to | #56090 |
Am Mittwoch, 22. März 2017 12:23:13 UTC+1 schrieb HAA:
> Alex wrote:
> > On 3/22/2017 09:08, HAA wrote:
> > > Helmar Wodtke wrote:
> > >> ...
> > >> I btw. also try to avoid ELSE. I use AND: and OR: if possible. By using ;THEN there
> > >> is the ELSE-part behind ;THEN. But I still have ELSE too and use it from time to
> > >> time...
> > >>
> > >> Regards,
> > >> -Helmar
> > >
> > > Agreed. There is a difference between having ELSE and misusing it. ANS-CASE is
> > > an example of misusing ELSE.
> > >
> >
> > ANS Forth doesn't tell you how to implement CASE.
>
> How many ways are there to implement a straight-jacket?
Alex is right there - ANS Forth does not tell you how to implement... But it says:
-------------------
6.2.0873 CASE
CORE EXT
Interpretation: Interpretation semantics for this word are undefined.
Compilation: ( C: -- case-sys )
Mark the start of the CASE ... OF ... ENDOF ... ENDCASE structure. Append the run-time semantics given below to the current definition.
Run-time: ( -- )
Continue execution.
-------------------
The commment only makes a hint how it is used usually. In DPANS it is a "structure" - or say "syntax". So OF is not simply the POSTPONE-version with IF, but some completely syntax driven thing of your Forth compiler ;)
: 7of9 CASE
1 OF ." One" ENDOF
7 OF 9 THEN 9 OF ." Nine" ENDOF
ENDCASE ;
^^ would not work... But in real implementations it works...
The wording like this is a "structure" says, that DPANS94 did think, that these kind of words could be deeply optimized. But well the "1" is "executed" if you want so.
You could do
: MYVAL TODAY @ 1 AND IF 3 ELSE DUP 1- THEN ;
: foo
CASE
MYVAL OF ." 2nd day" ENDOF
7 OF ." Seven" ENDOF
ENDCASE
;
What a compiler can do better by understanding OF as part of a structure...
If there would be defined that ELSE and THEN can be consumers of OF-sys, it would be fine as IF-replacement in some situations...
Regards,
-Helmar
[toc] | [prev] | [next] | [standalone]
Page 11 of 14 — ← Prev page 1 … 9 10 [11] 12 13 14 Next page →
Back to top | Article view | comp.lang.forth
csiph-web