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


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

"Hello world" using Hughs novice package

Started byawegel@arcor.de (Alexander Wegel)
First post2016-12-21 01:19 +0100
Last post2017-01-08 16:55 -0800
Articles 20 on this page of 266 — 26 participants

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


Contents

  "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-21 01:19 +0100
    Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-24 05:40 -0600
      Re: "Hello world" using Hughs novice package Julian Fondren <julian.fondren@gmail.com> - 2016-12-24 06:01 -0800
      Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-25 19:27 +0100
        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-26 18:16 -0800
          Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-27 14:27 +0100
            Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-27 14:29 +0100
          Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-27 14:27 +0100
            Re: "Hello world" using Hughs novice package "HAA" <someone@microsoft.com> - 2016-12-28 11:35 +1100
              Re: "Hello world" using Hughs novice package Paul Rubin <no.email@nospam.invalid> - 2016-12-27 17:38 -0800
                Re: "Hello world" using Hughs novice package "HAA" <someone@microsoft.com> - 2016-12-29 10:11 +1100
                Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2016-12-29 17:06 -0800
              Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-28 05:39 +0100
                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-27 22:37 -0800
                  Re: "Hello world" using Hughs novice package crc <charles.childers@gmail.com> - 2016-12-28 05:40 -0800
                    Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-28 23:03 -0800
                      Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-30 20:54 +0100
                        Re: "Hello world" using Hughs novice package Coos Haak <htrofhc@gmail.com> - 2017-01-02 20:17 +0100
                          Re: "Hello world" using Hughs novice package mhx@iae.nl - 2017-01-02 12:22 -0800
                          Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-02 22:08 +0100
                          Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-02 21:40 -0800
                            Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-03 13:51 +0100
                              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-03 21:51 -0800
                            Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-06 19:36 -0800
                              Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-07 14:55 +0100
                                Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-07 19:01 +0100
                              Re: "Hello world" using Hughs novice package Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-08 12:06 +0000
                                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-08 16:46 -0800
                          Re: "Hello world" using Hughs novice package "Robert L." <No_spamming@noWhere_7073.org> - 2017-01-03 15:59 +0000
                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-27 23:12 -0800
                  Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-30 20:54 +0100
              Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-28 04:57 -0600
              Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-28 11:23 +0000
                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-28 23:16 -0800
                Re: "Hello world" using Hughs novice package Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-12-30 16:31 +0000
                  Re: "Hello world" using Hughs novice package "David N. Williams" <williams@umich.edu> - 2016-12-30 15:21 -0500
                    Re: "Hello world" using Hughs novice package Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-05 12:00 +0000
                      Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-05 13:30 +0100
                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-05 17:32 -0800
                          Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-06 02:50 +0100
                            Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-05 18:20 -0800
                              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-06 17:58 -0800
                                Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-07 14:55 +0100
                      Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-05 16:15 +0000
                        Re: "Hello world" using Hughs novice package Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-01-10 08:43 +0000
              Re: "Hello world" using Hughs novice package Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-12-30 14:37 +0000
                Re: "Hello world" using Hughs novice package john <anon@example.com> - 2016-12-30 15:57 +0000
                  Re: "Hello world" using Hughs novice package Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-12-30 17:19 +0000
                    Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2016-12-30 21:10 +0000
                      Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2016-12-30 12:44 -1000
                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-30 15:43 -0800
                        Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2016-12-31 00:09 +0000
                          Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-03 17:25 +0000
                      Re: "Hello world" using Hughs novice package john <anon@example.com> - 2016-12-30 22:47 +0000
                    Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-12-31 03:31 -0600
                Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-30 15:46 +0000
                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-30 15:05 -0800
                  Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2016-12-31 00:26 +0000
                Re: "Hello world" using Hughs novice package "HAA" <someone@microsoft.com> - 2016-12-31 11:49 +1100
                  Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2016-12-30 15:21 -1000
                    Re: "Hello world" using Hughs novice package "HAA" <someone@microsoft.com> - 2017-01-02 11:11 +1100
                      Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-02 00:28 +0000
                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-01 17:45 -0800
                          Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-01 20:57 -1000
                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-02 06:55 -0800
                          Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-02 10:44 +0000
                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-02 07:01 -0800
                              Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-02 15:46 +0000
                                Re: "Hello world" using Hughs novice package john <anon@example.com> - 2017-01-02 16:54 +0000
                                  Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-02 10:23 -0800
                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-02 10:06 -0800
                                  Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-02 19:13 +0000
                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-02 14:08 -0800
                                      Re: "Hello world" using Hughs novice package mhx@iae.nl - 2017-01-02 14:46 -0800
                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-02 17:10 -0800
                                          Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-02 21:58 -1000
                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-03 15:54 -0800
                                              Re: "Hello world" using Hughs novice package JUERGEN <epldfpga@aol.com> - 2017-01-04 06:21 -0800
                                                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-04 11:19 -0800
                                                  Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-04 22:34 +0100
                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-04 14:44 -0800
                                                  Re: "Hello world" using Hughs novice package JUERGEN <epldfpga@aol.com> - 2017-01-04 15:13 -0800
                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-05 08:18 -0800
                                                  Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-04 23:17 +0000
                                                  Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-05 04:15 -0600
                                              Re: "Hello world" using Hughs novice package mhx@iae.nl - 2017-01-08 01:18 -0800
                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-08 15:52 -0800
                                                  Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-08 21:00 -1000
                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-09 15:58 -0800
                                                      Re: "Hello world" using Hughs novice package Paul Rubin <no.email@nospam.invalid> - 2017-01-09 17:39 -0800
                                                      Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-09 18:53 -1000
                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-12 06:27 -0800
                                                          Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-12 13:44 -1000
                                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-12 17:36 -0800
                                                              Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-13 03:17 -0600
                                                                Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-13 14:44 +0000
                                                                  Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-13 14:43 -0800
                                                                    Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-14 00:23 +0000
                                                                      Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-14 11:52 +0000
                                                                        Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-14 16:00 +0000
                                                                          Re: "Hello world" using Hughs novice package Paul Rubin <no.email@nospam.invalid> - 2017-01-14 11:51 -0800
                                                                            Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-14 15:06 -0800
                                                                          Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-15 14:54 +0000
                                                                            Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-15 13:33 -0800
                                                                  Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-13 16:06 -0800
                                                                    Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-14 00:25 +0000
                                                                      Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-13 18:00 -0800
                                                                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-13 22:17 -0800
                                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-13 16:04 -0800
                                                                  Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-13 15:08 -1000
                                                                    Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-13 17:21 -0800
                                                                      Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-14 11:26 +0000
                                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-13 18:21 -0800
                                                                      Re: "Hello world" using Hughs novice package Paul Rubin <no.email@nospam.invalid> - 2017-01-13 18:30 -0800
                                                                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-13 22:20 -0800
                                                                          Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-14 10:43 -0800
                                                                            Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-14 15:47 -0800
                                                                              Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-14 17:30 -0800
                                                                                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-14 18:16 -0800
                                                                                  Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-15 13:53 -0800
                                                                                    Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-15 14:09 -0800
                                                                                      Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-15 15:48 -0800
                                                                                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-15 16:00 -0800
                                                                              Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-15 12:48 +0100
                                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-14 10:10 -0800
                                                                          Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-15 17:56 -0600
                                                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-15 17:05 -0800
                                                                              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-15 17:35 -0800
                                                                              Re: "Hello world" using Hughs novice package Paul Rubin <no.email@nospam.invalid> - 2017-01-15 19:20 -0800
                                                                                Re: "Hello world" using Hughs novice package Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-15 23:51 -0500
                                                                                  Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-15 19:22 -1000
                                                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-18 16:24 -0800
                                                                                  Re: "Hello world" using Hughs novice package foxaudioresearch@gmail.com - 2017-01-18 18:40 -0800
                                                                                  Re: "Hello world" using Hughs novice package Ron Aaron <rambamist@gmail.com> - 2017-01-19 06:46 +0200
                                                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-18 23:25 -0800
                                                                                  Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-19 09:47 +0000
                                                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-19 02:44 -0800
                                                                                      Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-19 06:16 -0600
                                                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-19 07:43 -0800
                                                                                          Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-19 11:07 -0600
                                                                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-19 14:58 -0800
                                                                                              Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-20 03:48 -0600
                                                                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-20 06:54 -0800
                                                                                                  Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-20 09:11 -0600
                                                                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-20 07:30 -0800
                                                                                                      Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-20 12:12 -0600
                                                                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-20 16:27 -0800
                                                                                                          Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-21 03:24 -0600
                                                                                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-22 12:47 -0800
                                                                                                              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-22 14:41 -0800
                                                                                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-22 15:57 -0800
                                                                                                              Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-23 04:05 -0600
                                                                                                                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-23 10:47 -0800
                                                                                                                  Re: "Hello world" using Hughs novice package Mark Wills <markwills1970@gmail.com> - 2017-01-24 01:02 -0800
                                                                                                                    Re: "Hello world" using Hughs novice package Paul Rubin <no.email@nospam.invalid> - 2017-01-24 01:12 -0800
                                                                                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-23 16:28 -0800
                                                                                                                  Re: "Hello world" using Hughs novice package Mark Wills <markwills1970@gmail.com> - 2017-01-24 01:06 -0800
                                                                                                                    Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-24 03:22 -0600
                                                                                                                      Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-24 14:19 +0100
                                                                                                                  Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-24 03:13 -0600
                                                                                                                    Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-24 08:08 -0500
                                                                                                                      Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-24 14:23 +0100
                                                                                                                        Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-24 09:10 -0500
                                                                                                                      Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-24 15:35 +0000
                                                                                                                        Persitent memory (was Re: "Hello world" using Hughs novice package) Alex <alex@rivadpm.com> - 2017-01-24 14:19 -0500
                                                                                                                          Re: Persitent memory (was Re: "Hello world" using Hughs novice package) Alex <alex@rivadpm.com> - 2017-01-24 15:00 -0500
                                                                                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-24 14:49 -0800
                                                                                                                      Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-25 03:26 -0600
                                                                                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-26 04:27 -0800
                                                                                                                          Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-26 08:35 -0600
                                                                                                          Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-21 14:19 +0100
                                                                                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-22 12:55 -0800
                                                                                      Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-19 15:28 +0000
                                                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-19 14:44 -0800
                                                                                        Re: "Hello world" using Hughs novice package Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-19 20:30 -0500
                                                                                          Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-20 18:21 +0000
                                                                                        Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-20 03:52 -0600
                                                                                          Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-20 06:58 -0800
                                                                                            Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-20 12:57 -0800
                                                                                              Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-20 16:31 -0800
                                                                                                Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-20 17:31 -0800
                                                                                      Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-19 08:48 -0800
                                                                                        Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-19 17:18 +0000
                                                                                          Re: "Hello world" using Hughs novice package alex@rivadpm.com - 2017-01-19 11:01 -0800
                                                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-19 14:51 -0800
                                                                                    Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-19 13:07 +0100
                                                                                      Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-19 14:26 +0000
                                                                              Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-16 09:03 -0600
                                                                            Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-15 15:08 -1000
                                                                              Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-15 17:23 -0800
                                                                            Re: "Hello world" using Hughs novice package Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-15 22:18 -0500
                                                                              Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-16 09:08 -0600
                                                                              Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-18 06:56 -0800
                                                                      Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-14 09:31 +0000
                                                                  Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-15 17:33 -0600
                                                      Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-10 09:55 +0000
                                                  Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-09 04:05 -0600
                                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-09 16:00 -0800
                                                      Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-10 04:13 -0600
                                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-12 06:40 -0800
                                    Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-02 21:07 -0800
                                  Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-03 04:46 -0600
                                    Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-03 16:11 -0800
                                      Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-04 04:27 -0600
                                        Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-04 14:26 -0800
                                          Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-04 23:09 +0000
                                            Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-05 00:02 +0000
                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-05 02:19 -0800
                                              Re: "Hello world" using Hughs novice package rickman <gnuarm@gmail.com> - 2017-01-05 05:56 -0500
                                                Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-05 06:33 -0800
                                                  Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-05 16:56 +0100
                                                  Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-05 19:03 +0000
                                                  Re: "Hello world" using Hughs novice package rickman <gnuarm@gmail.com> - 2017-01-06 06:45 -0500
                                          Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-05 04:27 -0600
                                            Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-05 06:22 -0800
                                              Re: "Hello world" using Hughs novice package Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-01-05 09:10 -0600
                                      Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-04 23:05 +0000
                                    Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-03 22:05 -0800
                                      Re: "Hello world" using Hughs novice package Ilya Tarasov <ilya74.tarasov@gmail.com> - 2017-01-04 13:44 -0800
                      Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-01 20:53 -1000
                    Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-01 19:55 -0800
                      Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-01 21:13 -0800
                        Re: "Hello world" using Hughs novice package foxaudioresearch@gmail.com - 2017-01-02 07:14 -0800
                          Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-02 07:42 -1000
                            Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-01-03 02:00 +0100
                              Re: "Hello world" using Hughs novice package Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-01-03 00:13 -0500
                                Re: "Hello world" using Hughs novice package "Elizabeth D. Rather" <erather@forth.com> - 2017-01-02 22:02 -1000
                                  Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-03 11:19 +0000
                                  Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-03 21:37 -0800
                              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-02 21:55 -0800
                              Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-03 11:26 +0000
                      Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-02 10:47 +0000
                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-02 20:57 -0800
                  Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-30 18:35 -0800
                    Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-31 04:29 +0100
                  Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2016-12-31 10:19 +0000
                  Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-02 17:08 +0000
                    Re: "Hello world" using Hughs novice package "HAA" <someone@microsoft.com> - 2017-01-06 13:39 +1100
                      Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-05 19:13 -0800
            Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-27 23:57 -0800
              Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2016-12-30 20:54 +0100
          Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-29 19:05 -0800
            Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-29 19:38 -0800
            Re: "Hello world" using Hughs novice package "HAA" <someone@microsoft.com> - 2016-12-30 15:24 +1100
            Re: "Hello world" using Hughs novice package Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-12-30 16:01 +0000
              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-30 14:33 -0800
          Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-29 16:04 -0800
            Re: "Hello world" using Hughs novice package "HAA" <someone@microsoft.com> - 2016-12-30 12:42 +1100
            Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-12-30 07:24 +0000
              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-30 12:50 -0800
                Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2016-12-30 21:43 +0000
                  Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-30 14:38 -0800
                    Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2016-12-31 10:31 +0000
                      Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-31 07:04 -0800
                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-31 07:07 -0800
                      Re: "Hello world" using Hughs novice package Julian Fondren <julian.fondren@gmail.com> - 2016-12-31 07:46 -0800
                        Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2016-12-31 08:28 -0800
          Re: "Hello world" using Hughs novice package albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-30 16:53 +0100
          Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-06 20:49 -0800
            Re: "Hello world" using Hughs novice package Cecil Bayona <cbayona@cbayona.com> - 2017-01-06 23:28 -0600
              Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-06 22:22 -0800
            Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-07 14:55 +0100
              Re: "Hello world" using Hughs novice package Alex <alex@rivadpm.com> - 2017-01-07 21:20 +0000
                Re: "Hello world" using Hughs novice package awegel@arcor.de (Alexander Wegel) - 2017-01-07 22:57 +0100
              Re: "Hello world" using Hughs novice package anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-01-08 17:02 +0000
                Re: "Hello world" using Hughs novice package hughaguilar96@gmail.com - 2017-01-08 16:55 -0800

Page 2 of 14 — ← Prev page 1 [2] 3 4 … 14  Next page →


#53688

Fromhughaguilar96@gmail.com
Date2017-01-02 21:40 -0800
Message-ID<5e02b7a1-41b6-43e8-8b74-d2b3062c6413@googlegroups.com>
In reply to#53676
On Monday, January 2, 2017 at 12:17:33 PM UTC-7, Coos Haak wrote:
> Op Fri, 30 Dec 2016 20:54:10 +0100 schreef Alexander Wegel:
> 
> > <hughaguilar96@gmail.com> wrote:
> >> This, once again, is my source-code:
> >>
> >> macro: exchange ( adrX adrY size -- )   \ the size of the record must be a mul
> >>                                           tiple of W
> >>     begin  dup while                    \ -- adrX adrY remaining
> >>         over @  fourth @                \ -- adrX adrY remaining Y X
> >>         fourth !  fourth !              \ -- adrX adrY remaining
> >>         rot w +  rot w +  rot w -
> >>         repeat
> >>     3drop ;
> >> 
> >> EXCHANGE is one of my better-written functions. 
> > 
> > The definition itself is a bit clumsy (with all those "fourth"s and the
> > juggling), but passable.
> 
> It surely is clumsy. He can't program in Forth.
> 
> : exchange   ( addr1 addr2 size -- )
>    begin dup
>    while >r 2dup over @ over @ >r swap ! r> swap !
>          cell+ swap cell+ swap r> 1+
>    repeat
>    drop 2drop ;
> 
> No ROT no FOURTH no MACRO
> All standard Forth. No words invented by some taxidriver.
> 
> groet Coos

Everything in the novice package is ANS-Forth --- including FOURTH and MACRO: etc..

I tested three versions of EXCHANGE under VFX:
1.) one version used only stack juggling --- this is what I went with
2.) one version held the count on the return-stack temporarily while doing the exchange
3.) one version used a DO loop for the count

Your code doesn't work --- you didn't actually test it before you posted it on comp.lang.forth --- you made a complete jackass out of yourself!

ANS-Forth is 1970s technology, and most ANS-Forth programmers are making assumptions that haven't been valid since the 1970s. In those days, ROT was very inefficient due to an extreme lack of registers. ROT is pretty efficient under VFX though. All of the versions are unacceptably inefficient under SwiftForth --- the novice-package is full of SwiftForth-specific code hand-written in assembly-language to make up for SwiftForth's lack of optimization. This was my code:

SwiftForth? [if]

icode exchange ( adrX adrY size -- )    \ the size of the record must be a multiple of W
    0 [ebp] eax mov  w [ebp] ecx mov    \ EAX<>ECX, with EBX being the size
    begin  non-zero? while
        0 [eax] push
        0 [ecx] edx mov  edx 0 [eax] mov
        0 [ecx] pop
        w # eax add  w # ecx add
        w # ebx sub  repeat
    w 2 * [ebp] ebx mov
    w 3 * # ebp add  ret end-code

[else]

macro: exchange ( adrX adrY size -- )   \ the size of the record must be a multiple of W
    begin  dup while                    \ -- adrX adrY remaining
        over @  fourth @                \ -- adrX adrY remaining Y X
        fourth !  fourth !              \ -- adrX adrY remaining
        rot w +  rot w +  rot w -
        repeat
    3drop ;

[then]

\ If FIELD is used to define records, the size of the records will be a multiple of W, as required by EXCHANGE.

Why am I being attacked for EXCHANGE of all things? This code works, and it is efficient. It is pretty trivial as compared to the early-binding MACRO: which I just wrote. Alex Wegel just picked EXCHANGE out at random as something to attack, because his attack on my late-binding MACRO: fizzled out after I wrote an early-binding MACRO: word. Now the other ANS-Forth cult members are attacking EXCHANGE too. You are all making jackasses out of yourselves!

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


#53701

Fromawegel@arcor.de (Alexander Wegel)
Date2017-01-03 13:51 +0100
Message-ID<1mza0aq.1dox81wuqmewwN%awegel@arcor.de>
In reply to#53688
<hughaguilar96@gmail.com> wrote:

> Why am I being attacked for EXCHANGE of all things? This code works,
> and it is efficient.
> It is pretty trivial as compared to the early-binding MACRO: which I
> just wrote. Alex Wegel just picked EXCHANGE out at random as something
> to attack,

Sure i picked it because it's particularly bad: Inlining it breaks and
bloats things for no perceivable gain, and by using the late-binding
macro it can even break later on. That's why i called it a monster.

> because his attack on my late-binding MACRO: fizzled out
> after I wrote an early-binding MACRO: word.

It didn't "fizzle out", but was successful in convincing you to finally
write this early-binding macro, which doesn't have (i suppose) most of
the problems of the old late-binding version.

I do think that getting away from the late-binding scheme was neccessary
for the package to get anywhere - at least this ugliness is gone now.

Rejoice!

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


#53724

Fromhughaguilar96@gmail.com
Date2017-01-03 21:51 -0800
Message-ID<44bc0e17-b3eb-4115-b08f-dca0768df7f9@googlegroups.com>
In reply to#53701
On Tuesday, January 3, 2017 at 5:51:04 AM UTC-7, Alexander Wegel wrote:
> <hughaguilar96@gmail.com> wrote:
> 
> > Why am I being attacked for EXCHANGE of all things? This code works,
> > and it is efficient.
> > It is pretty trivial as compared to the early-binding MACRO: which I
> > just wrote. Alex Wegel just picked EXCHANGE out at random as something
> > to attack,
> 
> Sure i picked it because it's particularly bad: Inlining it breaks and
> bloats things for no perceivable gain, and by using the late-binding
> macro it can even break later on. That's why i called it a monster.

EXCHANGE is only used in SORT --- I doubt that it will be used anywhere else.

I had one version of EXCHANGE that stored the count temporarily on the return-stack, and another version that used DO to run the count (also on the return-stack). Any use of the return-stack messes up CALL-RET prediction on the x86 causing the RET to be an unpredicted branch which is slow --- so, inlining boosts the speed a lot --- the current version doesn't use the return-stack, so RET is a predicted branch anyway and inlining doesn't boost the speed very much.

> > because his attack on my late-binding MACRO: fizzled out
> > after I wrote an early-binding MACRO: word.
> 
> It didn't "fizzle out", but was successful in convincing you to finally
> write this early-binding macro, which doesn't have (i suppose) most of
> the problems of the old late-binding version.
> 
> I do think that getting away from the late-binding scheme was neccessary
> for the package to get anywhere - at least this ugliness is gone now.
> 
> Rejoice!

This is too funny! I'm supposed to thank you for attacking me??? You're a jerk! Go jerk yourself off somewhere and stop pestering me.

I was aware of the need for early-binding over 20 years ago when I wrote the original early-binding version in 1994 as part of MFX under UR/Forth. I was still aware of the need for early-binding in 2009 when I wrote an early-binding version in ANS-Forth --- and I considered gForth to be a bug-ridden mess because it failed to run my code --- now, thanks to the disambiguifiers, I am able to run an early-binding MACRO: on all ANS-Forth compilers.

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


#53796

Fromhughaguilar96@gmail.com
Date2017-01-06 19:36 -0800
Message-ID<8614a8e2-7d87-49b4-833e-2d92caf228fc@googlegroups.com>
In reply to#53688
On Monday, January 2, 2017 at 10:40:54 PM UTC-7, hughag...@gmail.com wrote:
> On Monday, January 2, 2017 at 12:17:33 PM UTC-7, Coos Haak wrote:
> > Op Fri, 30 Dec 2016 20:54:10 +0100 schreef Alexander Wegel:
> > 
> > > <hughaguilar96@gmail.com> wrote:
> > >> This, once again, is my source-code:
> > >>
> > >> macro: exchange ( adrX adrY size -- )   \ the size of the record must be a mul
> > >>                                           tiple of W
> > >>     begin  dup while                    \ -- adrX adrY remaining
> > >>         over @  fourth @                \ -- adrX adrY remaining Y X
> > >>         fourth !  fourth !              \ -- adrX adrY remaining
> > >>         rot w +  rot w +  rot w -
> > >>         repeat
> > >>     3drop ;
> > >> 
> > >> EXCHANGE is one of my better-written functions. 
> > > 
> > > The definition itself is a bit clumsy (with all those "fourth"s and the
> > > juggling), but passable.
> > 
> > It surely is clumsy. He can't program in Forth.
> > 
> > : exchange   ( addr1 addr2 size -- )
> >    begin dup
> >    while >r 2dup over @ over @ >r swap ! r> swap !
> >          cell+ swap cell+ swap r> 1+
> >    repeat
> >    drop 2drop ;
> > 
> > No ROT no FOURTH no MACRO
> > All standard Forth. No words invented by some taxidriver.
> > 
> > groet Coos
> 
> Everything in the novice package is ANS-Forth --- including FOURTH and MACRO: etc..
> 
> I tested three versions of EXCHANGE under VFX:
> 1.) one version used only stack juggling --- this is what I went with
> 2.) one version held the count on the return-stack temporarily while doing the exchange
> 3.) one version used a DO loop for the count
> 
> Your code doesn't work --- you didn't actually test it before you posted it on comp.lang.forth --- you made a complete jackass out of yourself!
> 
> ANS-Forth is 1970s technology, and most ANS-Forth programmers are making assumptions that haven't been valid since the 1970s. In those days, ROT was very inefficient due to an extreme lack of registers. ROT is pretty efficient under VFX though. All of the versions are unacceptably inefficient under SwiftForth --- the novice-package is full of SwiftForth-specific code hand-written in assembly-language to make up for SwiftForth's lack of optimization. This was my code:
> 
> SwiftForth? [if]
> 
> icode exchange ( adrX adrY size -- )    \ the size of the record must be a multiple of W
>     0 [ebp] eax mov  w [ebp] ecx mov    \ EAX<>ECX, with EBX being the size
>     begin  non-zero? while
>         0 [eax] push
>         0 [ecx] edx mov  edx 0 [eax] mov
>         0 [ecx] pop
>         w # eax add  w # ecx add
>         w # ebx sub  repeat
>     w 2 * [ebp] ebx mov
>     w 3 * # ebp add  ret end-code
> 
> [else]
> 
> macro: exchange ( adrX adrY size -- )   \ the size of the record must be a multiple of W
>     begin  dup while                    \ -- adrX adrY remaining
>         over @  fourth @                \ -- adrX adrY remaining Y X
>         fourth !  fourth !              \ -- adrX adrY remaining
>         rot w +  rot w +  rot w -
>         repeat
>     3drop ;
> 
> [then]
> 
> \ If FIELD is used to define records, the size of the records will be a multiple of W, as required by EXCHANGE.
> 
> Why am I being attacked for EXCHANGE of all things? This code works, and it is efficient. It is pretty trivial as compared to the early-binding MACRO: which I just wrote. Alex Wegel just picked EXCHANGE out at random as something to attack, because his attack on my late-binding MACRO: fizzled out after I wrote an early-binding MACRO: word. Now the other ANS-Forth cult members are attacking EXCHANGE too. You are all making jackasses out of yourselves!

Since everybody hates me for writing an EXCHANGE function, I wrote another one (the SwiftForth assembly-language version is changed, but the ANS-Forth version remains the same):

SwiftForth? [if]

icode exchange ( adrX adrY size -- )    \ the size of the record must be a multiple of W
    0 [ebp] edx mov  w [ebp] ecx mov    \ EDX<>ECX, with EBX being the size
    begin  non-zero? while
        0 [ecx] eax mov
        0 [edx] eax xor  eax 0 [edx] xor  0 [edx] eax xor  
        eax 0 [ecx] mov
        w # edx add  w # ecx add
        w # ebx sub  repeat
    w 2 * [ebp] ebx mov
    w 3 * # ebp add  ret end-code

[else]

macro: exchange ( adrX adrY size -- )   \ the size of the record must be a multiple of W
    begin  dup while                    \ -- adrX adrY remaining
        over @  fourth @                \ -- adrX adrY remaining Y X
        fourth !  fourth !              \ -- adrX adrY remaining
        rot w +  rot w +  rot w -
        repeat
    3drop ;
    
[then]

\ If FIELD is used to define records, the size of the records will be a multiple of W, as required by EXCHANGE.

The new SwiftForth version doesn't use the return-stack --- I doubt that there is any speed difference from the old version though.

This is how VFX compiles the ANS-Forth version:

: eee exchange ;  ok
see eee 
EEE 
( 004E12E0    85DB )                  TEST      EBX, EBX
( 004E12E2    0F842B000000 )          JZ/E      004E1313
( 004E12E8    8B5500 )                MOV       EDX, [EBP]
( 004E12EB    8B12 )                  MOV       EDX, 0 [EDX]
( 004E12ED    8B4D04 )                MOV       ECX, [EBP+04]
( 004E12F0    8B09 )                  MOV       ECX, 0 [ECX]
( 004E12F2    8B4500 )                MOV       EAX, [EBP]
( 004E12F5    8908 )                  MOV       0 [EAX], ECX
( 004E12F7    8B4D04 )                MOV       ECX, [EBP+04]
( 004E12FA    8911 )                  MOV       0 [ECX], EDX
( 004E12FC    8B5504 )                MOV       EDX, [EBP+04]
( 004E12FF    83C204 )                ADD       EDX, 04
( 004E1302    8B4D00 )                MOV       ECX, [EBP]
( 004E1305    83C104 )                ADD       ECX, 04
( 004E1308    83C3FC )                ADD       EBX, -04
( 004E130B    894D00 )                MOV       [EBP], ECX
( 004E130E    895504 )                MOV       [EBP+04], EDX
( 004E1311    EBCD )                  JMP       004E12E0        EEE
( 004E1313    8B5D08 )                MOV       EBX, [EBP+08]
( 004E1316    8D6D0C )                LEA       EBP, [EBP+0C]
( 004E1319    C3 )                    NEXT,
( 58 bytes, 21 instructions )
 ok

This is the hand-written version in SwiftForth:

see exchange
4864FF   0 [EBP] EDX MOV                8B5500
486502   4 [EBP] ECX MOV                8B4D04
486505   EBX EBX OR                     09DB
486507   48651E JZ                      7415
486509   0 [ECX] EAX MOV                8B01
48650B   0 [EDX] EAX XOR                3302
48650D   EAX 0 [EDX] XOR                3102
48650F   0 [EDX] EAX XOR                3302
486511   EAX 0 [ECX] MOV                8901
486513   4 # EDX ADD                    83C204
486516   4 # ECX ADD                    83C104
486519   4 # EBX SUB                    83EB04
48651C   486505 JMP                     EBE7
48651E   8 [EBP] EBX MOV                8B5D08
486521   C # EBP ADD                    83C50C
486524   RET                            C3 ok

This is how SwiftForth would have compiled the ANS-Forth version (notice how it is just inlining everything, but not doing any actual optimization):

see exchange
49050F   EBX EBX OR                     09DB
490511   49058D JZ                      0F8476000000
490517   4 # EBP SUB                    83ED04
49051A   EBX 0 [EBP] MOV                895D00
49051D   4 [EBP] EBX MOV                8B5D04  \ OVER ends here
490520   0 [EBX] EBX MOV                8B1B    \ @ ends here
490522   4 # EBP SUB                    83ED04
490525   EBX 0 [EBP] MOV                895D00
490528   C [EBP] EBX MOV                8B5D0C  \ FOURTH ends here
49052B   0 [EBX] EBX MOV                8B1B    \ @ ends here
49052D   4 # EBP SUB                    83ED04
490530   EBX 0 [EBP] MOV                895D00
490533   C [EBP] EBX MOV                8B5D0C   \ FOURTH ends here
490536   0 [EBP] EAX MOV                8B4500
490539   EAX 0 [EBX] MOV                8903     
49053B   4 [EBP] EBX MOV                8B5D04
49053E   8 # EBP ADD                    83C508   \ ! ends here
490541   4 # EBP SUB                    83ED04
490544   EBX 0 [EBP] MOV                895D00
490547   C [EBP] EBX MOV                8B5D0C   \ FOURTH ends here
49054A   0 [EBP] EAX MOV                8B4500
49054D   EAX 0 [EBX] MOV                8903
49054F   4 [EBP] EBX MOV                8B5D04
490552   8 # EBP ADD                    83C508   \ ! ends here
490555   EBX ECX MOV                    8BCB
490557   4 [EBP] EBX MOV                8B5D04
49055A   0 [EBP] EAX MOV                8B4500
49055D   EAX 4 [EBP] MOV                894504
490560   ECX 0 [EBP] MOV                894D00   \ ROT ends here
490563   4 # EBX ADD                    83C304   \ W + ends here (this did get optimized)
490566   EBX ECX MOV                    8BCB
490568   4 [EBP] EBX MOV                8B5D04
49056B   0 [EBP] EAX MOV                8B4500
49056E   EAX 4 [EBP] MOV                894504
490571   ECX 0 [EBP] MOV                894D00   \ ROT ends here
490574   4 # EBX ADD                    83C304   \ W + ends here (this did get optimized)
490577   EBX ECX MOV                    8BCB
490579   4 [EBP] EBX MOV                8B5D04
49057C   0 [EBP] EAX MOV                8B4500
49057F   EAX 4 [EBP] MOV                894504
490582   ECX 0 [EBP] MOV                894D00   \ ROT ends here
490585   4 # EBX SUB                    83EB04   \ W - ends here (this did get optimized)
490588   49050F JMP                     E982FFFFFF
49058D   8 [EBP] EBX MOV                8B5D08
490590   C # EBP ADD                    83C50C
490593   RET                            C3 ok

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


#53805

Fromawegel@arcor.de (Alexander Wegel)
Date2017-01-07 14:55 +0100
Message-ID<1mzhin7.rzd1purcen8tN%awegel@arcor.de>
In reply to#53796
<hughaguilar96@gmail.com> wrote:

> Since everybody hates me for writing an EXCHANGE function,

No, not for this. More for being a lying arsehole.

> I wrote another one (the SwiftForth assembly-language version
> is changed, but the ANS-Forth version remains the same):

Oh well - it's the ANS forth version that was bad (e.g. using PICKs).
Writing another asm version is pointless.

And -repeating myself- the main problem was that you used MACRO: on it,
which made it brittle, turned it into a bloat, restricted its use to
compile time and didn't gain anything.

(The new early-binding macro still has the same set of problems only
without the brittleness.)

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


#53819

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2017-01-07 19:01 +0100
Message-ID<o4radj$ds1$1@cherry.spenarnc.xs4all.nl>
In reply to#53805
In article <1mzhin7.rzd1purcen8tN%awegel@arcor.de>,
Alexander Wegel <awegel@arcor.de> wrote:
><hughaguilar96@gmail.com> wrote:
>
>> Since everybody hates me for writing an EXCHANGE function,
>
>No, not for this. More for being a lying arsehole.

Actually I've an EXCHANGE with the exact same semantics.
I certainly don't hate Hugh, at least not for EXCHANGE.

<SNIP>

This is the kind of word that deserves an assembly implementation,
on the grounds that it is so fundamental, and probably somewhat
speed-critical.

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]


#53851

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2017-01-08 12:06 +0000
Message-ID<o4t9tm$kfj$1@dont-email.me>
In reply to#53796
On 07/01/2017 03:36, hughaguilar96@gmail.com wrote:
> Since everybody hates me for writing an EXCHANGE function,

Why does criticism of you writing EXCHANGE by a few people mean that 
"everybody hates" you?

> I wrote another one (the SwiftForth assembly-language version is changed, but the ANS-Forth version remains the same):
>
> SwiftForth? [if]
>
> icode exchange ( adrX adrY size -- )    \ the size of the record must be a multiple of W
>     0 [ebp] edx mov  w [ebp] ecx mov    \ EDX<>ECX, with EBX being the size
>     begin  non-zero? while
>         0 [ecx] eax mov
>         0 [edx] eax xor  eax 0 [edx] xor  0 [edx] eax xor
>         eax 0 [ecx] mov
>         w # edx add  w # ecx add
>         w # ebx sub  repeat
>     w 2 * [ebp] ebx mov
>     w 3 * # ebp add  ret end-code
>
> [else]
>
> macro: exchange ( adrX adrY size -- )   \ the size of the record must be a multiple of W
>     begin  dup while                    \ -- adrX adrY remaining
>         over @  fourth @                \ -- adrX adrY remaining Y X
>         fourth !  fourth !              \ -- adrX adrY remaining
>         rot w +  rot w +  rot w -
>         repeat
>     3drop ;
>
> [then]
>

A minor improvement exploits the fact that the order of adX and adY on 
the stack is irrelevant when exchanging cell values (same as when 
comparing strings). Replace the line:
    rot w +  rot w +  rot w -
with
    swap w + rot w +  rot w -
or better
    >r w + swap w + r> w -

Of course this might not result in better code with an optimising 
compiler like VFX Forth.

Why don't you use CELL+ instead of W +

With an initial NEGATE on size, W - could be replaced by CELL+

-- 
Gerry

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


#53873

Fromhughaguilar96@gmail.com
Date2017-01-08 16:46 -0800
Message-ID<1f966383-798a-4475-b145-ebc0e3901877@googlegroups.com>
In reply to#53851
On Sunday, January 8, 2017 at 5:06:45 AM UTC-7, Gerry wrote:
> On 07/01/2017 03:36, hughaguilar96@gmail.com wrote:
> > Since everybody hates me for writing an EXCHANGE function,
> 
> Why does criticism of you writing EXCHANGE by a few people mean that 
> "everybody hates" you?

ANS-Forth is a cult --- all the cult members are required to think alike, and to hate non-members.

This is an attack thread, but I don't hear any criticism of this. Julien Fondren made a death threat against me, and has previously said that I should be hit over the head hard enough to cause amnesia. Juergen wants to kick me in the teeth because I don't brown-nose the Forth-200x committee. At that meeting he mentioned, his suggestion was that Leon Wagner and Stephen Pelc (his employer) should be "benevolent dictators for life" and would alternate years. All of this is cult behavior.

You can't fail to denounce Elizabeth Rather, and also claim to not be a cult member --- you can't have it both ways!

> > I wrote another one (the SwiftForth assembly-language version is changed, but the ANS-Forth version remains the same):
> >
> > SwiftForth? [if]
> >
> > icode exchange ( adrX adrY size -- )    \ the size of the record must be a multiple of W
> >     0 [ebp] edx mov  w [ebp] ecx mov    \ EDX<>ECX, with EBX being the size
> >     begin  non-zero? while
> >         0 [ecx] eax mov
> >         0 [edx] eax xor  eax 0 [edx] xor  0 [edx] eax xor
> >         eax 0 [ecx] mov
> >         w # edx add  w # ecx add
> >         w # ebx sub  repeat
> >     w 2 * [ebp] ebx mov
> >     w 3 * # ebp add  ret end-code
> >
> > [else]
> >
> > macro: exchange ( adrX adrY size -- )   \ the size of the record must be a multiple of W
> >     begin  dup while                    \ -- adrX adrY remaining
> >         over @  fourth @                \ -- adrX adrY remaining Y X
> >         fourth !  fourth !              \ -- adrX adrY remaining
> >         rot w +  rot w +  rot w -
> >         repeat
> >     3drop ;
> >
> > [then]
> >
> 
> A minor improvement exploits the fact that the order of adX and adY on 
> the stack is irrelevant when exchanging cell values (same as when 
> comparing strings). Replace the line:
>     rot w +  rot w +  rot w -
> with
>     swap w + rot w +  rot w -
> or better
>     >r w + swap w + r> w -
> 
> Of course this might not result in better code with an optimising 
> compiler like VFX Forth.
> 
> Why don't you use CELL+ instead of W +
> 
> With an initial NEGATE on size, W - could be replaced by CELL+

Use of the return-stack (your >R ... R> above) is a bad idea. This messes up CALL/RET prediction on the x86 --- your RET will be an unpredicted branch which is very slow --- also, >R R> and locals seem to not get optimized very well under VFX; they don't get held in registers behind the scenes.

CELL+ might help on a non-optimizing compiler --- it makes no difference under VFX.

I experimented a bit and I came up with a slightly shorter version (not as readable though):

macro: exchange ( adrX adrY size -- )   \ the size of the record must be a multiple of W
    begin  dup while                    \ -- adrX adrY remaining
        -rot                            \ -- remaining adrX adrY
        dup @  rover @                  \ -- remaining adrX adrY Y X
        rover !  rover !                \ -- remaining adrX adrY
        w +  swap w +  rot w -          \ -- adrY adrX remaining        \ adrY and adrX change places
        repeat
    3drop ;

\ Under VFX the SWAP to get adrY and adrX back to how they were doesn't cost anything.
\ Having them change places might help on a non-optimizing compiler though.

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


#53703

From"Robert L." <No_spamming@noWhere_7073.org>
Date2017-01-03 15:59 +0000
Message-ID<o4ghob$e9m$1@gioia.aioe.org>
In reply to#53676
On 1/2/2017, Coos Haak wrote:

>    while >r 2dup over @ over @ >r swap ! r> swap !
>          cell+ swap cell+ swap r> 1+

Absolutely unreadable and unmaintainable.
(However, Gavino thinks that it is awesome.)

Anyone who would pay anyone a cent to write code
like that is an idiot.

Forth and its slavish worshippers are execrable.

-- 
I don't believe in western morality, i.e. don't kill civilians or children....
The only way to fight a moral war is the Jewish way: Destroy their holy sites.
Kill men, women and children (and cattle). --- Rabbi Manis Friedman
web.archive.org/web/20090605154706/http://www.momentmag.com/Exclusive/2009/2009-06/200906-Ask_Rabbis.html
archive.org/download/DavidDukeVideo/TheZionistMatrixOfPowerddhd.ogv

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


#53577

Fromhughaguilar96@gmail.com
Date2016-12-27 23:12 -0800
Message-ID<d1ba88a7-741c-43ae-9edb-75896de5be43@googlegroups.com>
In reply to#53574
On Tuesday, December 27, 2016 at 9:39:35 PM UTC-7, Alexander Wegel wrote:
> HAA <someone@microsoft.com> wrote:
> 
> > Alexander Wegel wrote:
> > > <hughaguilar96@gmail.com> wrote:
> > >
> > > > So, the whole novice-package is now early-binding. Woo hoo! As a
> > > > practical matter, the late-binding was never a problem for me.
> > >
> > > Maybe - but in order to write anything worthwhile for others (you're not
> > > the only novice out there), only thinking of yourself won't cut it - i
> > > guess that's where you totally fail.
> > > ...
> > 
> > I don't agree. All that's been demonstrated is that it's difficult to write a
> > non-trivial ANS portable program that will tick all the boxes.
> 
> I think that in this respect it has been demonstrated that writing a
> non-trivial program is a non-trivial task, especially if you don't
> really (want to?) know your platform.
> And it has been demonstrated that bugs don't fix themselves, even if
> someone told you how to do it easily 5 years ago.

So, during that 5 years a lot of ANS-Forth programmers wrote a MACRO: function that did early-binding? No, none of them did. The late-binding version is much simpler, so perhaps they wrote that instead? No, none of them did. Maybe they are not so skilled at writing non-trivial Forth code --- maybe they are primarily skilled at flinging insults at those who do write non-trivial code --- you're the expert on ANS-Forth, so please tell us your thoughts on this mystery... LOL

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


#53617

Fromawegel@arcor.de (Alexander Wegel)
Date2016-12-30 20:54 +0100
Message-ID<1myzdih.o2iaeftnxnymN%awegel@arcor.de>
In reply to#53577
<hughaguilar96@gmail.com> wrote:

> On Tuesday, December 27, 2016 at 9:39:35 PM UTC-7, Alexander Wegel wrote:
> > HAA <someone@microsoft.com> wrote:
> > 
> > > Alexander Wegel wrote:
> > > > <hughaguilar96@gmail.com> wrote:
> > > >
> > > > > So, the whole novice-package is now early-binding. Woo hoo! As a
> > > > > practical matter, the late-binding was never a problem for me.
> > > >
> > > > Maybe - but in order to write anything worthwhile for others (you're not
> > > > the only novice out there), only thinking of yourself won't cut it - i
> > > > guess that's where you totally fail.
> > > > ...
> > > 
> > > I don't agree. All that's been demonstrated is that it's difficult to
> > > write a
> > > non-trivial ANS portable program that will tick all the boxes.
> > 
> > I think that in this respect it has been demonstrated that writing a
> > non-trivial program is a non-trivial task, especially if you don't
> > really (want to?) know your platform.
> > And it has been demonstrated that bugs don't fix themselves, even if
> > someone told you how to do it easily 5 years ago.
> 
> So, during that 5 years a lot of ANS-Forth programmers wrote a MACRO: function
> that did early-binding?

Why should they?

It's you who wanted it for the package.
It's you who asked for and got help (from Anton).
It's you who then just didn't go on, but preferred jumping up and down
c.l.f crying "BEAR" and insulting people.

Others just use postpone, or ]], or maybe just don't admit that they
wrote a macro function.

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


#53580

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2016-12-28 04:57 -0600
Message-ID<vOGdnd5GEuE4B_7FnZ2dnUU7-Y-dnZ2d@supernews.com>
In reply to#53572
HAA <someone@microsoft.com> wrote:
> Alexander Wegel wrote:
>> <hughaguilar96@gmail.com> wrote:
>>
>> > So, the whole novice-package is now early-binding. Woo hoo! As a
>> > practical matter, the late-binding was never a problem for me.
>>
>> Maybe - but in order to write anything worthwhile for others (you're not
>> the only novice out there), only thinking of yourself won't cut it - i
>> guess that's where you totally fail.
>> ...
> 
> I don't agree.  All that's been demonstrated is that it's difficult
> to write a non-trivial ANS portable program that will tick all the
> boxes.

Umm, what?  How does it demonstrate that?  IMO all it demonstrates is
that if you program in an tricky way in Forth (and in any other
sufficiently powerful language) you can tie your own shoelaces
together.

Andrew.

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


#53585

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2016-12-28 11:23 +0000
Message-ID<2016Dec28.122322@mips.complang.tuwien.ac.at>
In reply to#53572
"HAA" <someone@microsoft.com> writes:
>I don't agree.  All that's been demonstrated is that it's difficult to write a
>non-trivial ANS portable program that will tick all the boxes.

How has that been demonstrated?

>As for your
>experience, the system informed you (or should have) that a redefinition
>had taken place.  If you ignored it whose fault was that?

A feature of Forth is that redefinitions don't change what earlier
words do.  If you define W and see such a warning, it just tells you
that you cannot call the earlier W by name anymore, nothing else; at
least the way Forth works normally.  So the fault is with the person
who wrote a late-binding word using W, not with the person who
redefined W.

>Forthers typically write their own code and knowing what's in it avoid
>potential problems.  Use another's code blindly and the responsibility
>is all yours.

The consequence of this attitude is to not use other people's code,
and there are a number of people here that actually preach that.  At
least it's consistent with the attitude above.

The other attitude is that libraries give certain guarantees, and that
any deviation from that behaviour is a bug in the library, and is
therefore the library author's responsibility.  This means that,
instead of understanding and checking the whole code of the library,
you just need to understand the guarantees of the library words you
use.  That attitude is necessary to make libraries practical.

And then there are some that want to pick an attitude that's
convenient for them: When they write a library, they don't document
it, except by providing some example usage, and they claim that that
is enough for using the library.  And that avoiding corner cases is
the responsibility of the library user, who should read the source
code of the library for determining them.  Essentially, this is your
attitude, except that they believe in using libraries.  I am thinking
of one specific person here, whose first name is not Hugh, but the
relatively frequent counter "[That behaviour] was never a problem for
me" when pointing out undocumented corner cases indicates that he is
not alone with that attitude.

- 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]


#53597

Fromhughaguilar96@gmail.com
Date2016-12-28 23:16 -0800
Message-ID<74420f27-1eb0-43bd-b4e4-b4c5249ad341@googlegroups.com>
In reply to#53585
On Wednesday, December 28, 2016 at 7:25:04 AM UTC-7, Anton Ertl wrote:
> "HAA" <someone@microsoft.com> writes:
> >I don't agree.  All that's been demonstrated is that it's difficult to write a
> >non-trivial ANS portable program that will tick all the boxes.
> 
> How has that been demonstrated?

You yourself have said:
> A system that would tell us all non-standard usages would be nice, but 
> we don't have that.  For now the solution is to test on as many 
> systems as possible. 

This was in this thread:
https://groups.google.com/forum/#!topic/comp.lang.forth/wP5nw1ClzsM%5B1-25%5D 

I already mentioned this in our current thread --- I'm just repeating myself now --- I have also repeatedly shown how ANS-Forth is infested with ambiguity and all of the ANS-Forth compilers are contradictory to each other because they interpret these ambiguous requirements differently.

This is why I say that ANS-Forth is a cult --- you guys tell the same lies over and over again --- no matter how many times somebody points out that what you are saying is not true, you just blithely continue.

BTW: lest that somebody accuse me of quoting you out of context, this was your full quote:

On Thursday, November 26, 2009 at 3:24:06 AM UTC-7, Anton Ertl wrote: 
> Hugh Aguilar <hugoaguilar@rosycrew.com> writes: 
> >On Nov 25, 4:14=A0am, an...@mips.complang.tuwien.ac.at (Anton Ertl) 
> >wrote: 
> >> >On Nov 25, 8:57=3DA0am, Hugh Aguilar <hugoagui...@rosycrew.com> wrote: 
> >> >> I don't use gforth. What does that error message mean? What is a 
> >> >> "compile-only word?" 
> >> 
> >> A word without interpretation semantics. 
> >> 
> >> >It doesn't like you taking the address of ";" , though I don't 
> >> >understand why. 
> >> 
> >> Because ";" has no execution or interpretation semantics. =A0The 
> >> execution token returned by ['] represents the execution semantics, 
> >> but since ";" does not have that ... 
> > 
> >I don't understand how a word can not have execution semantics. 
> 
> That's quite simple: By not defining execution semantics in the 
> definition of the word in the standard document.  Look up the 
> definition of ";" in the standard, and you will see that there is no 
> "Execution:" section there; and there are other labeled sections 
> there, so the "omitted label" sentence of 3.4.3.1 does not apply. 
> 
> >For immediate words (IF, ;, etc.) 
> 
> IF and ";" are not immediate words in the standard.  A system can 
> implement them as immediate words, but a program cannot rely on their 
> immediacy. 
> 
> >I looked up ['] in the ANS-Forth document and it says: 
> > 
> >"Place name's execution token xt on the stack." 
> 
> What's the execution token of a word that has no execution semantics. 
> 
> Hmm, since you think that ";" is immediate, I guess you want an 
> execution token that, when executed, performs the compilation 
> semantics.  You can get that as follows.  Before the rest of the 
> program, define: 
> 
> : ; postpone ; ; immediate 
> 
> Now you have an immediate ";" with an execution semantics that's the 
> same as the compilation semantics, and you can tick it. 
> 
> >What I am saying is that I didn't have any warning that what I was 
> >doing in MACRO: was going to be a problem. 
> 
> A system that would tell us all non-standard usages would be nice, but 
> we don't have that.  For now the solution is to test on as many 
> systems as possible. 
> 
> - anton 

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


#53614

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2016-12-30 16:31 +0000
Message-ID<o4622u$vu5$1@dont-email.me>
In reply to#53585
On 28/12/2016 11:23, Anton Ertl wrote:
> The other attitude is that libraries give certain guarantees, and that
> any deviation from that behaviour is a bug in the library, and is
> therefore the library author's responsibility.  This means that,
> instead of understanding and checking the whole code of the library,
> you just need to understand the guarantees of the library words you
> use.  That attitude is necessary to make libraries practical.

To back up any guarantees given by a library, my view is that the 
library download should include a comprehensive test file, including 
corner cases, with the advantages:
- a user can have confidence that the library has been tested
- it provides examples of usage to support any documentation
- the user can easily test it on the Forth system to be used (the author 
cannot always do this)
- if the author updates the library he has a regression test to help 
verify bugs haven't been introduced

After all if the author hasn't such a test program available it raises 
the question of how thoroughly a system has been tested.

-- 
Gerry

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


#53620

From"David N. Williams" <williams@umich.edu>
Date2016-12-30 15:21 -0500
Message-ID<o46fhq$ni7$1@dont-email.me>
In reply to#53614
On 12/30/16 11:31 AM, Gerry Jackson wrote:
> On 28/12/2016 11:23, Anton Ertl wrote:
>> The other attitude is that libraries give certain guarantees, and that
>> any deviation from that behaviour is a bug in the library, and is
>> therefore the library author's responsibility.  This means that,
>> instead of understanding and checking the whole code of the library,
>> you just need to understand the guarantees of the library words you
>> use.  That attitude is necessary to make libraries practical.
>
> To back up any guarantees given by a library, my view is that the
> library download should include a comprehensive test file, including
> corner cases, with the advantages:
> - a user can have confidence that the library has been tested
> - it provides examples of usage to support any documentation
> - the user can easily test it on the Forth system to be used (the author
> cannot always do this)
> - if the author updates the library he has a regression test to help
> verify bugs haven't been introduced
>
> After all if the author hasn't such a test program available it raises
> the question of how thoroughly a system has been tested.

Amen, Gerry!

-- David W.


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


#53755

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2017-01-05 12:00 +0000
Message-ID<o4lcer$j8l$1@dont-email.me>
In reply to#53620
On 30/12/2016 20:21, David N. Williams wrote:
> On 12/30/16 11:31 AM, Gerry Jackson wrote:
>> On 28/12/2016 11:23, Anton Ertl wrote:
>>> The other attitude is that libraries give certain guarantees, and that
>>> any deviation from that behaviour is a bug in the library, and is
>>> therefore the library author's responsibility.  This means that,
>>> instead of understanding and checking the whole code of the library,
>>> you just need to understand the guarantees of the library words you
>>> use.  That attitude is necessary to make libraries practical.
>>
>> To back up any guarantees given by a library, my view is that the
>> library download should include a comprehensive test file, including
>> corner cases, with the advantages:
>> - a user can have confidence that the library has been tested
>> - it provides examples of usage to support any documentation
>> - the user can easily test it on the Forth system to be used (the author
>> cannot always do this)
>> - if the author updates the library he has a regression test to help
>> verify bugs haven't been introduced
>>
>> After all if the author hasn't such a test program available it raises
>> the question of how thoroughly a system has been tested.
>
> Amen, Gerry!
>
-
Yes David, I know you provide such test programs, the only other person 
I can think of who also does is Kishna Myneni. You can see the level of 
interest in this topic from the vast number of responses my post 
provoked:). ISTM that the typical Forther's idea of testing is to type 
in a few tests interpretively and regard the job as done. Perhaps that's 
why there is little interest in using Forth libraries - users find them 
bug-ridden due to poor testing.


-- 
Gerry

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


#53756

Fromawegel@arcor.de (Alexander Wegel)
Date2017-01-05 13:30 +0100
Message-ID<1mzdryc.idrzb4n39nauN%awegel@arcor.de>
In reply to#53755
Gerry Jackson <gerry@jackson9000.fsnet.co.uk> wrote:

> Perhaps that's 
> why there is little interest in using Forth libraries - users find them
> bug-ridden due to poor testing.

Hugh doesn't test properly either, otherwise he would have noticed
(sometimes in the last 7 years) that "concrete-alloc" in his package
doesn't work.

(Just to somewhat get back to the topic.)

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


#53770

Fromhughaguilar96@gmail.com
Date2017-01-05 17:32 -0800
Message-ID<75ef7f59-8ba9-4b46-9630-3bf48134319d@googlegroups.com>
In reply to#53756
On Thursday, January 5, 2017 at 5:30:24 AM UTC-7, Alexander Wegel wrote:
> Gerry Jackson <gerry@jackson9000.fsnet.co.uk> wrote:
> 
> > Perhaps that's 
> > why there is little interest in using Forth libraries - users find them
> > bug-ridden due to poor testing.
> 
> Hugh doesn't test properly either, otherwise he would have noticed
> (sometimes in the last 7 years) that "concrete-alloc" in his package
> doesn't work.
> 
> (Just to somewhat get back to the topic.)

CONCRETE-ALLOC works fine.

: aaa <allocation> ;  ok
here . 4785429  ok
10 concrete-alloc  ok
dup aaa  ok
. -10  ok
20 resize  ok
. 0  ok
dup aaa  ok
. 20  ok
free  ok
. 0  ok

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


#53771

Fromawegel@arcor.de (Alexander Wegel)
Date2017-01-06 02:50 +0100
Message-ID<1mzest9.chrqye1catwjnN%awegel@arcor.de>
In reply to#53770
<hughaguilar96@gmail.com> wrote:

> On Thursday, January 5, 2017 at 5:30:24 AM UTC-7, Alexander Wegel wrote:
> > Gerry Jackson <gerry@jackson9000.fsnet.co.uk> wrote:
> > 
> > > Perhaps that's 
> > > why there is little interest in using Forth libraries - users find them
> > > bug-ridden due to poor testing.
> > 
> > Hugh doesn't test properly either, otherwise he would have noticed
> > (sometimes in the last 7 years) that "concrete-alloc" in his package
> > doesn't work.
> > 
> > (Just to somewhat get back to the topic.)
> 
> CONCRETE-ALLOC works fine.
> 
> : aaa <allocation> ;  ok
> here . 4785429  ok
>
> dup aaa  ok
> . -10  ok
> 20 resize  ok
> . 0  ok
> dup aaa  ok
> . 20  ok
> free  ok
> . 0  ok

123 10 concrete-alloc drop ok
. 128  ok

It corrupts the stack because you used ALIGNED where you should have
used ALIGN.

aaa? Cute.

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


Page 2 of 14 — ← Prev page 1 [2] 3 4 … 14  Next page →

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


csiph-web