Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #53455 > unrolled thread
| Started by | awegel@arcor.de (Alexander Wegel) |
|---|---|
| First post | 2016-12-21 01:19 +0100 |
| Last post | 2017-01-08 16:55 -0800 |
| Articles | 20 on this page of 266 — 26 participants |
Back to article view | Back to comp.lang.forth
"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 →
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | awegel@arcor.de (Alexander Wegel) |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | awegel@arcor.de (Alexander Wegel) |
|---|---|
| Date | 2017-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]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2017-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]
| From | Gerry Jackson <gerry@jackson9000.fsnet.co.uk> |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | "Robert L." <No_spamming@noWhere_7073.org> |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2016-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]
| From | awegel@arcor.de (Alexander Wegel) |
|---|---|
| Date | 2016-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]
| From | Andrew Haley <andrew29@littlepinkcloud.invalid> |
|---|---|
| Date | 2016-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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2016-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2016-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]
| From | Gerry Jackson <gerry@jackson9000.fsnet.co.uk> |
|---|---|
| Date | 2016-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]
| From | "David N. Williams" <williams@umich.edu> |
|---|---|
| Date | 2016-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]
| From | Gerry Jackson <gerry@jackson9000.fsnet.co.uk> |
|---|---|
| Date | 2017-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]
| From | awegel@arcor.de (Alexander Wegel) |
|---|---|
| Date | 2017-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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2017-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]
| From | awegel@arcor.de (Alexander Wegel) |
|---|---|
| Date | 2017-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