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


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

BEGIN WHILE UNTIL THEN

Started byJulian Fondren <julian.fondren@gmail.com>
First post2016-01-04 14:50 -0800
Last post2016-01-08 03:04 -0800
Articles 20 on this page of 100 — 18 participants

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


Contents

  BEGIN WHILE UNTIL THEN Julian Fondren <julian.fondren@gmail.com> - 2016-01-04 14:50 -0800
    Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-05 11:24 +1100
      Re: BEGIN WHILE UNTIL THEN Julian Fondren <julian.fondren@gmail.com> - 2016-01-04 16:47 -0800
        Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-05 12:17 +1100
        Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-05 10:51 +0000
          Re: BEGIN WHILE UNTIL THEN stephen@mpeforth.com (Stephen Pelc) - 2016-01-05 15:06 +0000
    Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-04 17:25 -0800
      Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-05 13:06 +1100
        Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-04 21:42 -0800
          Re: BEGIN WHILE UNTIL THEN rickman <gnuarm@gmail.com> - 2016-01-05 01:48 -0500
          Re: BEGIN WHILE UNTIL THEN Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-01-05 11:15 +0000
          Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-06 14:35 +1100
    Re: BEGIN WHILE UNTIL THEN Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-01-05 02:04 +0000
    Re: BEGIN WHILE UNTIL THEN Julian Fondren <julian.fondren@gmail.com> - 2016-01-04 18:37 -0800
      Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-04 19:17 -0800
      Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-05 11:10 +0000
      Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-06 15:02 +1100
    Re: BEGIN WHILE UNTIL THEN november.nihal@gmail.com - 2016-01-05 08:03 -0800
      Re: BEGIN WHILE UNTIL THEN november.nihal@gmail.com - 2016-01-05 08:07 -0800
        Re: BEGIN WHILE UNTIL THEN november.nihal@gmail.com - 2016-01-05 08:18 -0800
        Re: BEGIN WHILE UNTIL THEN november.nihal@gmail.com - 2016-01-05 08:21 -0800
    Re: BEGIN WHILE UNTIL THEN Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-07 05:13 -0500
      Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-08 12:36 +1100
        Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-08 10:32 +0000
          Re: BEGIN WHILE UNTIL THEN Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-08 02:55 -0800
            Re: BEGIN WHILE UNTIL THEN Coos Haak <chforth@hccnet.nl> - 2016-01-08 13:57 +0100
              Re: BEGIN WHILE UNTIL THEN Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-08 06:55 -0800
                Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-08 15:06 -0800
                Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-08 16:59 -0800
                  Re: BEGIN WHILE UNTIL THEN "Elizabeth D. Rather" <erather@forth.com> - 2016-01-08 16:15 -1000
                    Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-08 22:23 -0800
                      Re: BEGIN WHILE UNTIL THEN "Elizabeth D. Rather" <erather@forth.com> - 2016-01-08 21:12 -1000
                        Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-09 08:04 -0800
                          Re: BEGIN WHILE UNTIL THEN "Elizabeth D. Rather" <erather@forth.com> - 2016-01-09 09:16 -1000
                            Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-10 15:31 +0000
                              Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-10 08:11 -0800
                              Re: BEGIN WHILE UNTIL THEN "Elizabeth D. Rather" <erather@forth.com> - 2016-01-10 09:42 -1000
                                Re: BEGIN WHILE UNTIL THEN Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-01-11 13:02 +0000
                                Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-13 16:20 +0000
                            Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-10 14:10 -0800
                            Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-11 18:38 -0800
                              Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-14 08:47 +1100
                                Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-13 17:24 -0800
                                  Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-13 19:25 -0800
                                  Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-14 22:09 +1100
                                    Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-14 16:21 +0000
                                      Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-16 11:34 +1100
                                        Re: BEGIN WHILE UNTIL THEN Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-16 03:43 +0100
                                          Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-19 18:01 +1100
                                            Re: BEGIN WHILE UNTIL THEN Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-19 23:07 +0100
                                              Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-21 14:29 +1100
                                                Re: BEGIN WHILE UNTIL THEN Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-21 22:25 +0100
                                                  Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-24 13:28 +1100
                                                    Re: BEGIN WHILE UNTIL THEN Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-25 01:31 +0100
                                                      Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-25 21:45 +1100
                                                        Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-25 10:24 -0800
                                                        Re: BEGIN WHILE UNTIL THEN Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-25 20:41 +0100
                                                          Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-28 20:39 +1100
                                                            Re: BEGIN WHILE UNTIL THEN Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-28 16:05 +0100
                                                Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-21 20:52 -0800
                                                  Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-24 13:16 +1100
                                    Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-14 08:46 -0800
                                      Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-16 11:34 +1100
                                        Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-15 20:53 -0800
                                Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-13 19:31 -0800
                      Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-11 09:29 +1100
                        Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-10 21:18 -0800
                          Re: BEGIN WHILE UNTIL THEN Paul Rubin <no.email@nospam.invalid> - 2016-01-10 21:29 -0800
                          Re: BEGIN WHILE UNTIL THEN "Elizabeth D. Rather" <erather@forth.com> - 2016-01-10 20:37 -1000
                          Re: BEGIN WHILE UNTIL THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-01-11 09:05 +0000
                          Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-12 12:26 +1100
                    Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-10 14:18 -0800
                  Re: BEGIN WHILE UNTIL THEN Raimond Dragomir <raimond.dragomir@gmail.com> - 2016-01-08 23:31 -0800
                    Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-09 08:09 -0800
                  Re: BEGIN WHILE UNTIL THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-01-09 05:31 -0600
                    Re: BEGIN WHILE UNTIL THEN Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-01-09 07:52 -0600
                Re: BEGIN WHILE UNTIL THEN Ron Aaron <rambamist@gmail.com> - 2016-01-09 18:22 +0200
                Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-09 16:29 +0000
            Re: BEGIN WHILE UNTIL THEN stephen@mpeforth.com (Stephen Pelc) - 2016-01-08 11:23 +0000
              Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-10 20:17 -0800
                Re: BEGIN WHILE UNTIL THEN stephen@mpeforth.com (Stephen Pelc) - 2016-01-11 11:56 +0000
                Re: BEGIN WHILE UNTIL THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-01-11 11:59 +0000
                  generalized CASE (was: BEGIN WHILE UNTIL THEN) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-11 12:30 +0000
                    Re: generalized CASE (was: BEGIN WHILE UNTIL THEN) hughaguilar96@gmail.com - 2016-01-11 13:52 -0800
                    Re: generalized CASE Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-01-11 22:00 +0000
                      Re: generalized CASE Coos Haak <chforth@hccnet.nl> - 2016-01-12 01:50 +0100
                  Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-11 14:16 -0800
                    Re: BEGIN WHILE UNTIL THEN Chris Curl <ccurl609@gmail.com> - 2016-01-11 16:17 -0800
                    Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-12 13:07 +0000
                    Re: BEGIN WHILE UNTIL THEN Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-01-12 20:48 +0000
                      Re: BEGIN WHILE UNTIL THEN hughaguilar96@gmail.com - 2016-01-12 14:16 -0800
            Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-08 16:21 +0000
              Re: BEGIN WHILE UNTIL THEN stephen@mpeforth.com (Stephen Pelc) - 2016-01-08 20:12 +0000
                Re: BEGIN WHILE UNTIL THEN anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-01-09 18:19 +0000
                Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-11 09:34 +1100
              Re: BEGIN WHILE UNTIL THEN Bernd Paysan <bernd.paysan@gmx.de> - 2016-01-08 21:13 +0100
          Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-09 23:46 +1100
        Re: BEGIN WHILE UNTIL THEN Rod Pemberton <NoHaveNotOne@bcczxcfre.cmm> - 2016-01-08 10:11 -0500
          Re: BEGIN WHILE UNTIL THEN "HAA" <someone@microsoft.com> - 2016-01-11 08:38 +1100
    Re: BEGIN WHILE UNTIL THEN november.nihal@gmail.com - 2016-01-08 03:04 -0800

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


#44772

Fromhughaguilar96@gmail.com
Date2016-01-11 18:38 -0800
Message-ID<b0e487ac-0060-4aee-9e51-645707e450e6@googlegroups.com>
In reply to#44730
On Saturday, January 9, 2016 at 12:16:18 PM UTC-7, Elizabeth D. Rather wrote:
> Here's an example 
> from one of the problem sets in Forth Application Techniques:
> 
> : ?WAY ( -- )
>     BEGIN KEY DUP
>        27 = NOT WHILE   \ Quit on ESCape key
>        DUP 32 OR        \ Set lowercase bit
>        CASE
>           [CHAR] i OF  UP  ENDOF
>           [CHAR] j OF  LEFT   ENDOF
>           [CHAR] k OF  HOME   ENDOF
>           [CHAR] l OF  RIGHT  ENDOF
>           [CHAR] m OF  DOWN   ENDOF
>           SWAP DUP 32 127 WITHIN IF EMIT 0 THEN
>        ENDCASE DROP CR
>     REPEAT DROP ;

This is bad Forth code because of all the magic numbers (27, 32). Mostly it is bad though because it uses CASE --- to the best of my recollection, I've never used CASE --- I knew it was no good in 1980 when it appeared in "Forth Dimensions" (a lot of the code that appeared in those magazines in the 1980s wasn't very good, although you would see something written by somebody who knew how to program).

This CASE is working with chars that come from the keyboard. That is seen occasionally. Most of the time however, CASE is used in situations where the datum being tested is an ENUM and hence is within a very limited range. It is reasonable to use a jump-table --- even given the limited memory of computers such as the C64, the jump-table should not be a problem --- and you get a speed boost of two or three orders of magnitude.

Here is a slightly modified version (I got rid of the UP etc. because I don't know what they do):

: ?WAY ( -- ) 
    BEGIN KEY DUP 
       27 = NOT WHILE   \ Quit on ESCape key 
       DUP 32 OR        \ Set lowercase bit 
       CASE 
          [CHAR] i OF  [char] i emit  ENDOF 
          [CHAR] j OF  [char] j emit  ENDOF 
          [CHAR] k OF  [char] k emit  ENDOF 
          [CHAR] l OF  [char] l emit  ENDOF 
          [CHAR] m OF  [char] m emit  ENDOF 
          SWAP DUP 32 127 WITHIN IF EMIT 0 THEN 
       ENDCASE DROP CR 
    REPEAT DROP ; 

Here is the generated code:

see ?way
48E52F   4068DF ( KEY ) CALL            E8AB83F7FF
48E534   4 # EBP SUB                    83ED04
48E537   EBX 0 [EBP] MOV                895D00
48E53A   1B # EBX CMP                   83FB1B
48E53D   0 # EBX MOV                    BB00000000
48E542   48E545 JNZ                     7501
48E544   EBX DEC                        4B
48E545   -1 # EBX XOR                   83F3FF
48E548   EBX EBX OR                     09DB
48E54A   0 [EBP] EBX MOV                8B5D00
48E54D   4 [EBP] EBP LEA                8D6D04
48E550   48E699 JZ                      0F8443010000
48E556   4 # EBP SUB                    83ED04
48E559   EBX 0 [EBP] MOV                895D00
48E55C   20 # EBX OR                    83CB20
48E55F   4 # EBP SUB                    83ED04
48E562   EBX 0 [EBP] MOV                895D00
48E565   69 # EBX MOV                   BB69000000
48E56A   0 [EBP] EBX CMP                3B5D00
48E56D   48E57A JZ                      740B
48E56F   0 [EBP] EBX MOV                8B5D00
48E572   4 # EBP ADD                    83C504
48E575   48E58C JMP                     E912000000
48E57A   4 # EBP ADD                    83C504
48E57D   69 # EBX MOV                   BB69000000
48E582   40674F ( EMIT ) CALL           E8C881F7FF
48E587   48E689 JMP                     E9FD000000
48E58C   4 # EBP SUB                    83ED04
48E58F   EBX 0 [EBP] MOV                895D00
48E592   6A # EBX MOV                   BB6A000000
48E597   0 [EBP] EBX CMP                3B5D00
48E59A   48E5A7 JZ                      740B
48E59C   0 [EBP] EBX MOV                8B5D00
48E59F   4 # EBP ADD                    83C504
48E5A2   48E5B9 JMP                     E912000000
48E5A7   4 # EBP ADD                    83C504
48E5AA   6A # EBX MOV                   BB6A000000
48E5AF   40674F ( EMIT ) CALL           E89B81F7FF
48E5B4   48E689 JMP                     E9D0000000
48E5B9   4 # EBP SUB                    83ED04
48E5BC   EBX 0 [EBP] MOV                895D00
48E5BF   6B # EBX MOV                   BB6B000000
48E5C4   0 [EBP] EBX CMP                3B5D00
48E5C7   48E5D4 JZ                      740B
48E5C9   0 [EBP] EBX MOV                8B5D00
48E5CC   4 # EBP ADD                    83C504
48E5CF   48E5E6 JMP                     E912000000
48E5D4   4 # EBP ADD                    83C504
48E5D7   6B # EBX MOV                   BB6B000000
48E5DC   40674F ( EMIT ) CALL           E86E81F7FF
48E5E1   48E689 JMP                     E9A3000000
48E5E6   4 # EBP SUB                    83ED04
48E5E9   EBX 0 [EBP] MOV                895D00
48E5EC   6C # EBX MOV                   BB6C000000
48E5F1   0 [EBP] EBX CMP                3B5D00
48E5F4   48E601 JZ                      740B
48E5F6   0 [EBP] EBX MOV                8B5D00
48E5F9   4 # EBP ADD                    83C504
48E5FC   48E613 JMP                     E912000000
48E601   4 # EBP ADD                    83C504
48E604   6C # EBX MOV                   BB6C000000
48E609   40674F ( EMIT ) CALL           E84181F7FF
48E60E   48E689 JMP                     E976000000
48E613   4 # EBP SUB                    83ED04
48E616   EBX 0 [EBP] MOV                895D00
48E619   6D # EBX MOV                   BB6D000000
48E61E   0 [EBP] EBX CMP                3B5D00
48E621   48E62E JZ                      740B
48E623   0 [EBP] EBX MOV                8B5D00
48E626   4 # EBP ADD                    83C504
48E629   48E640 JMP                     E912000000
48E62E   4 # EBP ADD                    83C504
48E631   6D # EBX MOV                   BB6D000000
48E636   40674F ( EMIT ) CALL           E81481F7FF
48E63B   48E689 JMP                     E949000000
48E640   0 [EBP] EAX MOV                8B4500
48E643   EBX 0 [EBP] MOV                895D00
48E646   EAX EBX MOV                    8BD8
48E648   4 # EBP SUB                    83ED04
48E64B   EBX 0 [EBP] MOV                895D00
48E64E   8 # EBP SUB                    83ED08
48E651   EBX 4 [EBP] MOV                895D04
48E654   20 # 0 [EBP] MOV               C7450020000000
48E65B   7F # EBX MOV                   BB7F000000
48E660   40603F ( WITHIN ) CALL         E8DA79F7FF
48E665   EBX EBX OR                     09DB
48E667   0 [EBP] EBX MOV                8B5D00
48E66A   4 [EBP] EBP LEA                8D6D04
48E66D   48E683 JZ                      0F8410000000
48E673   40674F ( EMIT ) CALL           E8D780F7FF
48E678   4 # EBP SUB                    83ED04
48E67B   EBX 0 [EBP] MOV                895D00
48E67E   0 # EBX MOV                    BB00000000
48E683   0 [EBP] EBX MOV                8B5D00
48E686   4 # EBP ADD                    83C504
48E689   0 [EBP] EBX MOV                8B5D00
48E68C   4 # EBP ADD                    83C504
48E68F   40680F ( CR ) CALL             E87B81F7FF
48E694   48E52F JMP                     E996FEFFFF
48E699   0 [EBP] EBX MOV                8B5D00
48E69C   4 # EBP ADD                    83C504
48E69F   RET                            C3 ok

see within
40603F   4 # EBP SUB                    83ED04
406042   EBX 0 [EBP] MOV                895D00
406045   4 [EBP] EBX MOV                8B5D04
406048   EBX NEG                        F7DB
40604A   0 [EBP] EBX ADD                035D00
40604D   4 # EBP ADD                    83C504
406050   EBX PUSH                       53
406051   0 [EBP] EBX MOV                8B5D00
406054   4 # EBP ADD                    83C504
406057   EBX NEG                        F7DB
406059   0 [EBP] EBX ADD                035D00
40605C   4 # EBP ADD                    83C504
40605F   4 # EBP SUB                    83ED04
406062   EBX 0 [EBP] MOV                895D00
406065   EBX POP                        5B
406066   405F7F ( U< ) CALL             E814FFFFFF
40606B   RET                            C3 ok

see u<
405F7F   EBX 0 [EBP] CMP                395D00
405F82   EBX EBX SBC                    19DB
405F84   4 # EBP ADD                    83C504
405F87   RET                            C3 ok

So, what can we say about using SwiftForth? Don't Do That!

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


#44841

From"HAA" <someone@microsoft.com>
Date2016-01-14 08:47 +1100
Message-ID<n76gld$eij$1@gioia.aioe.org>
In reply to#44772
hughaguilar96@gmail.com wrote:
> ...
> see within
> 40603F   4 # EBP SUB                    83ED04
> 406042   EBX 0 [EBP] MOV                895D00
> 406045   4 [EBP] EBX MOV                8B5D04
> 406048   EBX NEG                        F7DB
> 40604A   0 [EBP] EBX ADD                035D00
> 40604D   4 # EBP ADD                    83C504
> 406050   EBX PUSH                       53
> 406051   0 [EBP] EBX MOV                8B5D00
> 406054   4 # EBP ADD                    83C504
> 406057   EBX NEG                        F7DB
> 406059   0 [EBP] EBX ADD                035D00
> 40605C   4 # EBP ADD                    83C504
> 40605F   4 # EBP SUB                    83ED04
> 406062   EBX 0 [EBP] MOV                895D00
> 406065   EBX POP                        5B
> 406066   405F7F ( U< ) CALL             E814FFFFFF
> 40606B   RET                            C3 ok
> ...
> So, what can we say about using SwiftForth? Don't Do That!

Since SwiftForth comes with full source code at no extra cost you can
rewrite any high-level kernel words in assembler.  The ability to fix/change
*anything* in a Forth compiler I would rank very high as no vendor provides
unlimited support.  YMMV

(I have no connection with Forth Inc other than occasional use of their
demo)


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


#44847

FromChris Curl <ccurl609@gmail.com>
Date2016-01-13 17:24 -0800
Message-ID<7210d13d-6d32-4116-bdce-df517eececf2@googlegroups.com>
In reply to#44841
On Wednesday, January 13, 2016 at 4:47:30 PM UTC-5, HAA wrote:
> 
> Since SwiftForth comes with full source code at no extra cost you can
> rewrite any high-level kernel words in assembler.  The ability to fix/change
> *anything* in a Forth compiler I would rank very high as no vendor provides
> unlimited support.  YMMV
> 
> (I have no connection with Forth Inc other than occasional use of their
> demo)

Don't GForth and SP-Forth also include full source code?

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


#44854

Fromhughaguilar96@gmail.com
Date2016-01-13 19:25 -0800
Message-ID<6630fc3a-cb32-42b1-ac3b-f6fc4fd30b3b@googlegroups.com>
In reply to#44847
On Wednesday, January 13, 2016 at 6:24:07 PM UTC-7, Chris Curl wrote:
> On Wednesday, January 13, 2016 at 4:47:30 PM UTC-5, HAA wrote:
> > 
> > Since SwiftForth comes with full source code at no extra cost you can
> > rewrite any high-level kernel words in assembler.  The ability to fix/change
> > *anything* in a Forth compiler I would rank very high as no vendor provides
> > unlimited support.  YMMV
> > 
> > (I have no connection with Forth Inc other than occasional use of their
> > demo)
> 
> Don't GForth and SP-Forth also include full source code?

When I downloaded SP-Forth there was no source-code. I asked about this, because it had been advertised as including source-code --- I was told that it does include source-code --- I lost interest at that time; maybe I downloaded the wrong file or something, but I didn't look into it any further.

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


#44862

From"HAA" <someone@microsoft.com>
Date2016-01-14 22:09 +1100
Message-ID<n77vop$fr8$1@gioia.aioe.org>
In reply to#44847
Chris Curl wrote:
> On Wednesday, January 13, 2016 at 4:47:30 PM UTC-5, HAA wrote:
> >
> > Since SwiftForth comes with full source code at no extra cost you can
> > rewrite any high-level kernel words in assembler.  The ability to fix/change
> > *anything* in a Forth compiler I would rank very high as no vendor provides
> > unlimited support.  YMMV
> >
> > (I have no connection with Forth Inc other than occasional use of their
> > demo)
>
> Don't GForth and SP-Forth also include full source code?

Yes but they also come with a string of disclaimers such as 'no guarantee',
'no warranty', 'use at your own risk', 'no support' etc.


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


#44873

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2016-01-14 16:21 +0000
Message-ID<2016Jan14.172158@mips.complang.tuwien.ac.at>
In reply to#44862
"HAA" <someone@microsoft.com> writes:
>Chris Curl wrote:
>> Don't GForth and SP-Forth also include full source code?
>
>Yes but they also come with a string of disclaimers such as 'no guarantee',
>'no warranty', 'use at your own risk', 'no support' etc.

Let's see what the license of Gforth (GPL v3) says wrt. these words:

guarantee:
|the GNU General Public License is intended to guarantee your freedom to
|share and change all versions of a program--to make sure it remains free
|software for all its users.

warranty: Several mentions, but the most relevant are:
|you may offer support or warranty protection for a fee.

|THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|APPLICABLE LAW.

risk:
|THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
|WITH YOU.

support: Most relevant:
|you may offer support or warranty protection for a fee.

- 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 2015: http://www.rigwit.co.uk/EuroForth2015/

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


#44899

From"HAA" <someone@microsoft.com>
Date2016-01-16 11:34 +1100
Message-ID<n7c36d$1gkg$2@gioia.aioe.org>
In reply to#44873
Anton Ertl wrote:
> "HAA" <someone@microsoft.com> writes:
> >Chris Curl wrote:
> >> Don't GForth and SP-Forth also include full source code?
> >
> >Yes but they also come with a string of disclaimers such as 'no guarantee',
> >'no warranty', 'use at your own risk', 'no support' etc.
>
> Let's see what the license of Gforth (GPL v3) says wrt. these words:
>
> guarantee:
> |the GNU General Public License is intended to guarantee your freedom to
> |share and change all versions of a program--to make sure it remains free
> |software for all its users.
>
> warranty: Several mentions, but the most relevant are:
> |you may offer support or warranty protection for a fee.
>
> |THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
> |APPLICABLE LAW.
>
> risk:
> |THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
> |WITH YOU.
>
> support: Most relevant:
> |you may offer support or warranty protection for a fee.
>
> - anton

Are you charging a fee?  If not, then the only thing users can count on
are the disclaimers and the GPL guarantee whatever that's worth.


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


#44902

FromBernd Paysan <bernd.paysan@gmx.de>
Date2016-01-16 03:43 +0100
Message-ID<n7cak3$4uo$1@dont-email.me>
In reply to#44899
HAA wrote:
> Are you charging a fee?  If not, then the only thing users can count on
> are the disclaimers and the GPL guarantee whatever that's worth.

Nobody has ever asked us for that.  However, I'm not aware of any software 
vendor which actually warrants something for his software.  This sort of 
disclamer is commonplace and necessary under US Law.  That's why e.g. the 
eval copy of SwiftForth also contains a warranty disclamer, while MPE 
doesn't do so (european jurisdiction):

"DISCLAIMER OF WARRANTY.
Free of charge Software is provided on an "AS IS" basis, without warranty of
any kind, including without limitation the warranties of merchantability,
fitness for a particular purpose and non-infringement. The entire risk as to
the quality and performance of the Software is borne by you. Should the
Software prove defective, you and not FORTH assume the entire cost of any
service and repair. This disclaimer of warranty constitutes an essential 
part of the agreement."

We take every bug report serious, anyhow.  That may be the cause why nobody 
wanted to give us money to improve the bug report response time.  Though 
some suggestions for typo fixes in the manual have stayed open on Savannah 
for years (that's because the reporter didn't just edit the doc/gforth.ds 
file and send us a patch; in that case, it would have been done much 
faster).

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

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


#44950

From"HAA" <someone@microsoft.com>
Date2016-01-19 18:01 +1100
Message-ID<n7kn01$uhi$1@gioia.aioe.org>
In reply to#44902
Bernd Paysan wrote:
> HAA wrote:
> > Are you charging a fee?  If not, then the only thing users can count on
> > are the disclaimers and the GPL guarantee whatever that's worth.
>
> Nobody has ever asked us for that.  However, I'm not aware of any software
> vendor which actually warrants something for his software.  This sort of
> disclamer is commonplace and necessary under US Law.  That's why e.g. the
> eval copy of SwiftForth also contains a warranty disclamer, while MPE
> doesn't do so (european jurisdiction):

Most countries have legislated consumer protections that cannot be excluded
e.g. goods purchased must be fit for purpose, have a warranty, be liable for
damages caused by defects and so on.  For a product to be sold in those
countries they must comply with local law whatever licenses say or don't say.
Software manufacturers and vendors are not a protected species.

Even GPL acknowledges its disclaimers are limited 'TO THE EXTENT
PERMITTED BY APPLICABLE LAW'.  Charge for warranty it's reasonable
to assume consumer law would apply.


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


#44953

FromBernd Paysan <bernd.paysan@gmx.de>
Date2016-01-19 23:07 +0100
Message-ID<n7mbu0$o0m$1@dont-email.me>
In reply to#44950
HAA wrote:
> Most countries have legislated consumer protections that cannot be
> excluded e.g. goods purchased must be fit for purpose, have a warranty, be
> liable for
> damages caused by defects and so on.  For a product to be sold in those
> countries they must comply with local law whatever licenses say or don't
> say. Software manufacturers and vendors are not a protected species.

Apparently, they are.  It is next to impossible to get even a refund, as 
long as the software is not an actual fake (like SoftRAM).  Let's say: The 
levels of what the law thinks is a "fitness for a particular purpose" are 
way, way below what my understanding would be.

> Even GPL acknowledges its disclaimers are limited 'TO THE EXTENT
> PERMITTED BY APPLICABLE LAW'.  Charge for warranty it's reasonable
> to assume consumer law would apply.

Even when GPL programs are definitely sold (like in Android phones or small 
routers), and this software is routinely defect, you often can't even get 
updates.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

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


#44981

From"HAA" <someone@microsoft.com>
Date2016-01-21 14:29 +1100
Message-ID<n7pj9q$itp$1@gioia.aioe.org>
In reply to#44953
Bernd Paysan wrote:
> HAA wrote:
> > Most countries have legislated consumer protections that cannot be
> > excluded e.g. goods purchased must be fit for purpose, have a warranty, be
> > liable for
> > damages caused by defects and so on.  For a product to be sold in those
> > countries they must comply with local law whatever licenses say or don't
> > say. Software manufacturers and vendors are not a protected species.
>
> Apparently, they are.  It is next to impossible to get even a refund, as
> long as the software is not an actual fake (like SoftRAM).  Let's say: The
> levels of what the law thinks is a "fitness for a particular purpose" are
> way, way below what my understanding would be.
>
> > Even GPL acknowledges its disclaimers are limited 'TO THE EXTENT
> > PERMITTED BY APPLICABLE LAW'.  Charge for warranty it's reasonable
> > to assume consumer law would apply.
>
> Even when GPL programs are definitely sold (like in Android phones or small
> routers), and this software is routinely defect, you often can't even get
> updates.

Refund may be the only remedy available to consumers and even here
they have to prove the item was not fit for purpose.  If the vendor challenges
it, it means taking them to an appropriate claims tribunal and making the
case.  Few consumers go that far and vendors know it.  Refunds from a
large chain store is easy because they want to avoid the bad publicity that
disgruntled customers bring.

The point is that manufacturers are legally liable for what their produce.
If their product results in serious damage and/or loss of life there will be
consequences.  If I were writing Forth commercially, I (or the comany I
worked for) would be legally liable.  It's a strong incentive to buy tools
from an established vendor who is also legally liable.


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


#44998

FromBernd Paysan <bernd.paysan@gmx.de>
Date2016-01-21 22:25 +0100
Message-ID<n7ri67$igq$1@dont-email.me>
In reply to#44981
HAA wrote:

> The point is that manufacturers are legally liable for what their produce.
> If their product results in serious damage and/or loss of life there will
> be consequences.  If I were writing Forth commercially, I (or the comany I
> worked for) would be legally liable.  It's a strong incentive to buy tools
> from an established vendor who is also legally liable.

So something which never happens, because the real world, which you 
explained pretty well, means you have to prove that they did something 
intentionally wrong, is a strong incentive?

The problem is that the pointy haired boss asks only one question: "can we 
sue somebody?" and the answer is "yes".  But the next question should be: 
"would we succeed?" and the answer is "no, but maybe they will sue somebody 
else to cover their ass, and not succeed either".  I know this sort of 
cover-my-ass "incentive", it happens especially at places where everybody is 
running around with pants down.  Projects in this kind of environment are 
likely to fail, and then people look for a culprit, instead of looking for a 
cure.

Software quality problems like the VW defeat device may be cured by legal 
procedures.  Here it is obvious that the vendor did something on purpose to 
make it not fit for the particular purpose (keep the exhaust air clean).  
That's the sort of level you can expect from the legal system.

A lot of commercial end product makers use free software as building blocks.  
Especially Linux is found in a lot of higher-end embedded systems.  You 
definitely can't sue Linus Torvalds or the Debian community on which you 
have based your system.  Apparently, this works out.

Occasionally, there are people trying to sue big companies, but usually, the 
only thing you hear is that they started the lawsuit, like this one of 
today:

http://www.theregister.co.uk/2016/01/21/samsung_sued_for_lackadaisical_android_updates/?utm_source=dlvr.it&utm_medium=gplus

I wish them good luck, but dout they will get anywhere.  Software quality is 
not a legal issue, it is a technical issue.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

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


#45053

From"HAA" <someone@microsoft.com>
Date2016-01-24 13:28 +1100
Message-ID<n81cqm$1mih$1@gioia.aioe.org>
In reply to#44998
Bernd Paysan wrote:
> HAA wrote:
>
> > The point is that manufacturers are legally liable for what their produce.
> > If their product results in serious damage and/or loss of life there will
> > be consequences.  If I were writing Forth commercially, I (or the comany I
> > worked for) would be legally liable.  It's a strong incentive to buy tools
> > from an established vendor who is also legally liable.
>
> So something which never happens, because the real world, which you
> explained pretty well, means you have to prove that they did something
> intentionally wrong, is a strong incentive?

I was giving the worst case scenario.  While consumers have rights they
can't dictate outcomes.  Products don't have to be "intentionally wrong"
for a manufacturer to be legally liable.  Crash into someone's car for
whatever reason and you're legally liable.  It's the same principle.

> Software quality problems like the VW defeat device may be cured by legal
> procedures.  Here it is obvious that the vendor did something on purpose to
> make it not fit for the particular purpose (keep the exhaust air clean).
> That's the sort of level you can expect from the legal system.

Intentionally being deceptive/defective falls into the category of criminal action.
That's harder to prove than liability because of the level of evidence required.

> A lot of commercial end product makers use free software as building blocks.
> Especially Linux is found in a lot of higher-end embedded systems.  You
> definitely can't sue Linus Torvalds or the Debian community on which you
> have based your system.  Apparently, this works out.

As the latter didn't sell a product or service they have no commercial liability.
If there's a defect in that software the product manufacturer would be solely liable.


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


#45061

FromBernd Paysan <bernd.paysan@gmx.de>
Date2016-01-25 01:31 +0100
Message-ID<n83q7b$c15$1@dont-email.me>
In reply to#45053
HAA wrote:
> I was giving the worst case scenario.  While consumers have rights they
> can't dictate outcomes.  Products don't have to be "intentionally wrong"
> for a manufacturer to be legally liable.  Crash into someone's car for
> whatever reason and you're legally liable.  It's the same principle.

When did that ever happen in the software world?  I'm following all kinds of 
news but haven't read anything in the last 30 years with the exception of 
stuff like the current VW scandal.

Just point me to the lawsuit were somebody won a lawsuit against a software 
manufacturer who had buggy software, i.e. not intentionally buggy, but 
accidentially so, following normal development procedures.

> Intentionally being deceptive/defective falls into the category of
> criminal action. That's harder to prove than liability because of the
> level of evidence required.

No, usually there are two lawsuits, one under civil law and one under 
criminal law.  The civil law seeks for compensation, the criminal law seeks 
for punishment.  Outcome can be different (see O. J. Simpson).

>> A lot of commercial end product makers use free software as building
>> blocks.
>> Especially Linux is found in a lot of higher-end embedded systems.  You
>> definitely can't sue Linus Torvalds or the Debian community on which you
>> have based your system.  Apparently, this works out.
> 
> As the latter didn't sell a product or service they have no commercial
> liability. If there's a defect in that software the product manufacturer
> would be solely liable.

If they would ever be liable (apparently, they get away with not maintaining 
their software, even though there are bugs in there, often added by 
themselves, sometimes kernel bugs)...

However, these manufacturer accept that they can't shift the liability to 
Linus and Co., which was my actual point.  They don't have this cover-my-ass 
mentality of "I need somebody to sue in case my product is fucked up".

Reality is that there are bugs in compilers.  As developer, you will find 
those that affect your code, if you follow good practice.  You can report 
those bugs or work around them.  Free software usually is also open in how 
they deal with bugs.  People like the GCC maintainer with their "it's UB, 
won'tfix" mentality aren't good, but unfortunately, that's true for the 
entire C community.  People like Ulrich Drepper (ex-glibc-maintainer) with 
his "that's invalid" (for a real bug, not something UB) are even worse.

With commercial software from larger companies, you get something far worse: 
Helpdesk from India with "I don't understand your question" answers.  You 
can sue them.  Good look.  Doesn't actually seem to happen.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

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


#45062

From"HAA" <someone@microsoft.com>
Date2016-01-25 21:45 +1100
Message-ID<n84ub7$ef$1@gioia.aioe.org>
In reply to#45061
Bernd Paysan wrote:
> ...
> Just point me to the lawsuit were somebody won a lawsuit against a software
> manufacturer who had buggy software, i.e. not intentionally buggy, but
> accidentially so, following normal development procedures.

I don't spend my days looking.  The only way a manufacturer can be exempt
liability is if there were legislation to that effect.  Can you point to such legislation
for software manufacturers?

> >> A lot of commercial end product makers use free software as building
> >> blocks.
> >> Especially Linux is found in a lot of higher-end embedded systems.  You
> >> definitely can't sue Linus Torvalds or the Debian community on which you
> >> have based your system.  Apparently, this works out.
> >
> > As the latter didn't sell a product or service they have no commercial
> > liability. If there's a defect in that software the product manufacturer
> > would be solely liable.
>
> If they would ever be liable (apparently, they get away with not maintaining
> their software, even though there are bugs in there, often added by
> themselves, sometimes kernel bugs)...

Maybe but as far as the consumer is concerned have these bugs and
lack of maintenance rendered the product "not fit for purpose"?  If not,
a manufacturer can reasonably say he's not required to fix them.

> However, these manufacturer accept that they can't shift the liability to
> Linus and Co., which was my actual point.  They don't have this cover-my-ass
> mentality of "I need somebody to sue in case my product is fucked up".

I don't see too many martyrs in the business world prepared to take on
the liability of others.  For one thing their shareholders would hate them.


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


#45072

FromChris Curl <ccurl609@gmail.com>
Date2016-01-25 10:24 -0800
Message-ID<73f40987-fd50-4967-832c-87b8a1f26227@googlegroups.com>
In reply to#45062
On Monday, January 25, 2016 at 5:45:04 AM UTC-5, HAA wrote:
> Bernd Paysan wrote:
> > ...
> > Just point me to the lawsuit were somebody won a lawsuit against a software
> > manufacturer who had buggy software, i.e. not intentionally buggy, but
> > accidentially so, following normal development procedures.
> 
> I don't spend my days looking.  The only way a manufacturer can be exempt
> liability is if there were legislation to that effect.  Can you point to such legislation
> for software manufacturers?
> ...
I am talking about the development environment used to build the software, not the software 
itself. What are you talking about? If a development environment causes my product to 
not behave as expected, then I would try to get them to fix the problem in their 
environment, or use a different development environment. I doubt I could sue them.

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


#45074

FromBernd Paysan <bernd.paysan@gmx.de>
Date2016-01-25 20:41 +0100
Message-ID<n85tjl$d4m$1@dont-email.me>
In reply to#45062
HAA wrote:

> Bernd Paysan wrote:
>> ...
>> Just point me to the lawsuit were somebody won a lawsuit against a
>> software manufacturer who had buggy software, i.e. not intentionally
>> buggy, but accidentially so, following normal development procedures.
> 
> I don't spend my days looking.  The only way a manufacturer can be exempt
> liability is if there were legislation to that effect.  Can you point to
> such legislation for software manufacturers?

Since de facto nothing happens against real software manufacturer, the 
legislation is not interpreted as you depict it.  Your fictive liability in 
practise is limited to very obvious malfunction.  If you are a software 
developer using a third party tool to develop, you will detect this sort of 
grave malfunction during development, and either work around the bug, report 
the bug and get a fix from the system developer, or, in case of software 
where you have the source: fix it yourself.  Or you select another system 
for development.  I doubt you would be exempted from your own liability to 
this sort of grave malfunction when you can blame the compiler.

However, there is an exception of liability for free software in the law: 
Since free software is a "gift" from a legal point of view, liability is 
much weaker.  The usual suggestion is to keep it as such and separate it 
from the proprietary parts, and "gift" it further to the customer.  This 
also is a good idea, because the GPL actually requires that every derivative 
of the code has to be under GPL.  That way, you get the special conditions 
for gifts, too, even if the total product is commercial.  You sell some 
router or phone hardware, but the software is actually free software, and 
your theoretical liability (which is already very weak) goes down to the 
almost zero liability of a gift.

Funny enough, under US law, a gift even takes away the liability from the 
original vendor.  If you buy something as a gift, the receiver can not make 
the original vendor or manufacturer liable - the gifter is not liable to the 
one who received the gift, and the original vendor is not liable to the one 
who received it, either.  That's weird from an European perspective.

> Maybe but as far as the consumer is concerned have these bugs and
> lack of maintenance rendered the product "not fit for purpose"?  If not,
> a manufacturer can reasonably say he's not required to fix them.

Well, a firewall appliance which can be 0wned by any evil hacker certainly 
fits my description of "not fit for the purpose".  What was the original 
purpose of a firewall?  Yes: not be 0wned by evil hackers.  All these home 
routers claim to be useful as firewalls.

>> However, these manufacturer accept that they can't shift the liability to
>> Linus and Co., which was my actual point.  They don't have this
>> cover-my-ass mentality of "I need somebody to sue in case my product is
>> fucked up".
> 
> I don't see too many martyrs in the business world prepared to take on
> the liability of others.  For one thing their shareholders would hate
> them.

The two biggest companies in share holder value today are Apple #1 and 
Google (now Alphabet) #2.  Both use an incredible amount of free software; 
most of their software is free or composed of free software, some parts are 
proprietary.  Both take the liability as much as there actually is (Apple is 
also number 1 of CVEs in their operating systems, so their software is the 
most defective in total; even more defective than Adobe's Flash; doesn't 
seem to hurt them, either); if not, their customers (like handset makers on 
Android) take over the liability from Google.  These are big and 
shareholder-beloved companies, too.  Google invests some money (more than 
anybody else) to make free software higher quality.

The thing you describe happens in the cover-you-ass parallel universe, which 
is filled with lame companies that produce excuses and blame instead of real 
products.  You don't get big if you only cover your ass.  You get big by 
taking risks and with some luck.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

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


#45134

From"HAA" <someone@microsoft.com>
Date2016-01-28 20:39 +1100
Message-ID<n8cnk1$1bo$1@gioia.aioe.org>
In reply to#45074
Bernd Paysan wrote:
> HAA wrote:
>
> > Bernd Paysan wrote:
> >> ...
> >> Just point me to the lawsuit were somebody won a lawsuit against a
> >> software manufacturer who had buggy software, i.e. not intentionally
> >> buggy, but accidentially so, following normal development procedures.
> >
> > I don't spend my days looking.  The only way a manufacturer can be exempt
> > liability is if there were legislation to that effect.  Can you point to
> > such legislation for software manufacturers?
>
> Since de facto nothing happens against real software manufacturer, the
> legislation is not interpreted as you depict it.  Your fictive liability in
> practise is limited to very obvious malfunction.

You appear to underestimate just how far legal liability can extend.  Take
any incident resulting in death and everyone's role is examined in detail.
Any failing by any party, direct to the incident or not, that's found is
prosecuted by the government and penalties are applied.  It's possible to
plead 'not guilty' of course but that just drags the process out with hefty
lawyer bills to pay.

Not fiction.  You can find stories such as this aplenty in newspapers.
How many more cases involving liability must there be that don't make
it into the papers.

> nothing happens against real software manufacturer

I wouldn't count on it.


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


#45156

FromBernd Paysan <bernd.paysan@gmx.de>
Date2016-01-28 16:05 +0100
Message-ID<n8dahs$kic$1@dont-email.me>
In reply to#45134
HAA wrote:

> Bernd Paysan wrote:
>> HAA wrote:
>>
>> > Bernd Paysan wrote:
>> >> ...
>> >> Just point me to the lawsuit were somebody won a lawsuit against a
>> >> software manufacturer who had buggy software, i.e. not intentionally
>> >> buggy, but accidentially so, following normal development procedures.
>> >
>> > I don't spend my days looking.  The only way a manufacturer can be
>> > exempt
>> > liability is if there were legislation to that effect.  Can you point
>> > to such legislation for software manufacturers?
>>
>> Since de facto nothing happens against real software manufacturer, the
>> legislation is not interpreted as you depict it.  Your fictive liability
>> in practise is limited to very obvious malfunction.
> 
> You appear to underestimate just how far legal liability can extend.  Take
> any incident resulting in death and everyone's role is examined in detail.
> Any failing by any party, direct to the incident or not, that's found is
> prosecuted by the government and penalties are applied.  It's possible to
> plead 'not guilty' of course but that just drags the process out with
> hefty lawyer bills to pay.
> 
> Not fiction.  You can find stories such as this aplenty in newspapers.
> How many more cases involving liability must there be that don't make
> it into the papers.

Surprising liabilities always make it into the news.  That's how news work.  
"Dog bites man" is not in the news.  "Man bites dog" is.

>> nothing happens against real software manufacturer
> 
> I wouldn't count on it.

On the other hand, we have exatly these people in the Forth community.  
People who make surgical instruments.  People who operate pharmacy 
production (bigForth has been used for 20 years in an VME bus controller to 
do that, and this was under a commerical license, not under the GPL; of 
course it ran like a precision clockwork and never failed).  Bomb disposal 
robots (MPE).  Roket scientists and stuff inside commercial planes.  People 
who do code audit for these critical things.

To get this kind of project through the authorities, you must provide 
evidence that you followed the necessary painstakingness to make such a 
product, i.e. test procedures, audit, and so on.  In case someone dies, this 
evidence relieves you of "involuntary manslaughter": you already have proven 
that you care.

This is the duty of the actual developer of the product, it does not reach 
through to the compiler maker.  The developer has to elaborate why he thinks 
the compiler is good enough for the job.  In any case, you can't pass the 
liability through.  If you don't evaluate that your compiler produces good 
binaries, it is your fault in such a life-critical software.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
net2o ID: kQusJzA;7*?t=uy@X}1GWr!+0qqp_Cn176t4(dQ*
http://bernd-paysan.de/

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


#45010

FromChris Curl <ccurl609@gmail.com>
Date2016-01-21 20:52 -0800
Message-ID<b502b05c-acfa-410d-9f08-7b7f8b3989b5@googlegroups.com>
In reply to#44981
On Wednesday, January 20, 2016 at 10:29:08 PM UTC-5, HAA wrote:
> ...
> The point is that manufacturers are legally liable for what their produce.
> If their product results in serious damage and/or loss of life there will be
> consequences.  If I were writing Forth commercially, I (or the comany I
> worked for) would be legally liable.  It's a strong incentive to buy tools
> from an established vendor who is also legally liable.
Holy crap. Are you actually being serious? Do you truly believe that a commercial development 
environment that allows a programmer to write ASSEMBLY LANGUAGE THAT CAN CRASH THE COMPUTER 
provides a "safer" environment for than an open-source environment that provides the 
same ability to crash the system? By that same logic, nobody should use GCC, and everyone
should use Visual Studio because ... what a minute ... umm ... WHY? That line of thinking makes
no sense at all, at least not to me.

Or is it that when you crash the system because your code was crap, you have someone you can sue 
because you don't know how to program a computer?

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


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

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


csiph-web