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


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

ANN: WF32, a Windows 32 bit Forth

Started byAlex <alex@rivadpm.com>
First post2017-04-20 15:02 +0100
Last post2017-04-30 20:06 +0100
Articles 20 on this page of 34 — 9 participants

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


Contents

  ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-20 15:02 +0100
    Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-20 15:55 +0100
      Re: ANN: WF32, a Windows 32 bit Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-20 17:17 +0000
        Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-20 19:23 +0100
          Re: ANN: WF32, a Windows 32 bit Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-21 09:40 +0000
          Re: ANN: WF32, a Windows 32 bit Forth josv@planet.nl - 2017-04-21 02:58 -0700
            Re: ANN: WF32, a Windows 32 bit Forth "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-04-21 11:44 +0000
            Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-21 13:49 +0100
              Re: ANN: WF32, a Windows 32 bit Forth josv@planet.nl - 2017-04-21 09:03 -0700
    Re: ANN: WF32, a Windows 32 bit Forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-04-20 19:22 +0200
      Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-20 19:19 +0100
    Re: WF32, a Windows 32 bit Forth "HAA" <someone@microsoft.com> - 2017-04-21 13:44 +1000
      Re: WF32, a Windows 32 bit Forth Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-04-21 22:45 -0400
        Re: WF32, a Windows 32 bit Forth Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-04-21 22:50 -0400
          Re: WF32, a Windows 32 bit Forth rickman <gnuarm@gmail.com> - 2017-04-22 00:57 -0400
            Re: WF32, a Windows 32 bit Forth Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> - 2017-04-22 23:32 -0400
            Re: WF32, a Windows 32 bit Forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-04-24 16:54 +0000
              Re: WF32, a Windows 32 bit Forth rickman <gnuarm@gmail.com> - 2017-04-24 13:05 -0400
                Re: WF32, a Windows 32 bit Forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-04-25 07:26 +0000
        Re: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-22 12:48 +0100
    Re: ANN: WF32, a Windows 32 bit Forth anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-04-24 13:59 +0000
      Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-24 16:41 +0100
        Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-29 19:13 +0100
    Re: ANN: WF32, a Windows 32 bit Forth NN <november.nihal@gmail.com> - 2017-04-24 14:07 -0700
      Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-24 22:48 +0100
        Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-29 19:49 +0100
          Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-30 22:33 +0100
    Re: ANN: WF32, a Windows 32 bit Forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-04-30 12:20 +0200
      Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-30 12:00 +0100
        Re: ANN: WF32, a Windows 32 bit Forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-04-30 14:39 +0200
          Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-30 14:03 +0100
            Re: ANN: WF32, a Windows 32 bit Forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-04-30 19:51 +0200
              Re: ANN: WF32, a Windows 32 bit Forth albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-04-30 20:03 +0200
                Re: ANN: WF32, a Windows 32 bit Forth Alex <alex@rivadpm.com> - 2017-04-30 20:06 +0100

Page 1 of 2  [1] 2  Next page →


#57642 — ANN: WF32, a Windows 32 bit Forth

FromAlex <alex@rivadpm.com>
Date2017-04-20 15:02 +0100
SubjectANN: WF32, a Windows 32 bit Forth
Message-ID<odaesj$quo$1@dont-email.me>
I've put my Windows Forth up on github at 
https://github.com/alextangent/wf32

Licensed where possible under the 2 clause BSD 
https://opensource.org/licenses/BSD-2-Clause

The system started life as a branch of Win32Forth. It is now pretty well
unrecognisable, but it has helped bootstrap WF32 into life.

. it's a complete bottom up rewrite
. it's an STC not an ITC;
. it doesn't do very many Window-ey things and is a console application;
. it has a very extensive and completely rewritten assembler that
supports 32 and 64 bit rather than the original 16 and 32 bit
. it is very documentation lite.
. and so on.

The original Win32Forth system was public domain. Although the basic
features of Win32Forth (for instance, meta compilation) and some of
its capabilities are employed in this code, all of the original
Win32Forth kernel, and much of the supporting code, have been completely 
rewritten. Win32Forth was a very fat Forth. WF32 isn't.

Jim Schneider wrote the original assembler and licensed it under the
GPL/LGPL, but none of it is used in WF32.

As such, each file has either a BSD licence (see below) or a note 
explaining the provenance; normally, that is was borrowed from the 
public domain Win32Forth.

If there are any discrepancies or copyright issues, please contact me
at alex at rivadpm dot com and I will endeavour to correct the
licence, remove, or rewrite out, the disputed code.

Why change the licence from public domain to BSD? Partly because PD 
really doesn't have any legal standing in UK law; a new version of a 
public domain work will be copyright protected, even though the original 
work is not. (It's even debatable that Tom Zimmer could put Win32Forth 
into the public domain.) I am not a lawyer, but the 2 clause BSD licence 
seems to be most appropriate in this case. It has no meaningful 
restrictions beyond recognising copyright.

To install it, download and run REBUILD32.BAT. This builds WF32.EXE from 
the kernel GKERNEL32.EXE, then recompiles the kernel code. If you make 
any changes to the kernel or the meta compiler in the SRC/KERNEL 
directory, then run REBUILD32.BAT again. (Take a backup of the 
executables first.) If you make changes to files in SRC or SRC/ASM, run 
EXTEND32.BAT instead.

The system implements most of Forth 2012 with the exception of some of 
the string extension words like SUBSTITUTE and UNESCAPE; the BLOCK 
wordset; and the float wordset.

It passes Gerry Jackson's HAYES tester (which I have included in the 
distribution; it was from 
https://github.com/gerryjackson/forth2012-test-suite/tree/master and I 
claim no more than copying rights on that code. Two of the files have 
been edited to support WF32 testing out of the box).

There is a float assembler, but the float support and the disassembler 
has not yet been completed. The interface to Windows doesn't use the VFX 
contributed code, but my own library and import functionality. The 
console support is horrible; the cursor dashes around and it needs 
rewritten.

Beyond a benchmark and the ANS tester, there aren't any demo programs. I 
have several thousands of lines of more code that I will add as I'm 
able, but my interests lie in compiler technology, so don't expect any 
Soduku games. It generates some passable code, and has a few 
optimisations built in;

. Does constant folding ( 1 1 + is compiled as 2 )
. Does tail call optimisation
. Does inlining on small words

CATCH will catch Windows errors. A common one is recompiling WF32.EXE 
and getting

Building image wf32.exe
  include src\extend32 fsave wf32 bye
                             ^^^^
Error -311 in (evaluate): wf32 windows call error
The process cannot access the file because it is being used by another 
process.

Windows won't let you write to a file that's being executed, so 
terminate the other copies first.

To save your program as an executable, FSAVE <name>. This will produce a 
full EXE file that you can run.

-- 
Alex

[toc] | [next] | [standalone]


#57643

FromAlex <alex@rivadpm.com>
Date2017-04-20 15:55 +0100
Message-ID<odahum$5om$1@dont-email.me>
In reply to#57642
On 4/20/2017 15:02, Alex wrote:
> I've put my Windows Forth up on github at 
> https://github.com/alextangent/wf32
> 
>...
> 

I forgot to say; it uses recognizers.

   "a quoted and \"escaped\"string" recognizer
   a tick (for example 'dup) recognizer
   a ]] stuff to postpone [[ recognizer

-- 
Alex

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


#57649

From"Rudy Velthuis" <newsgroups@rvelthuis.de>
Date2017-04-20 17:17 +0000
Message-ID<xn0koyots8h7uvy005@nntp.aioe.org>
In reply to#57643
Alex wrote:

> On 4/20/2017 15:02, Alex wrote:
> > I've put my Windows Forth up on github at
> > https://github.com/alextangent/wf32
> > 
> > ...
> > 
> 
> I forgot to say; it uses recognizers.
> 
>   "a quoted and \"escaped\"string" recognizer
>   a tick (for example 'dup) recognizer
>   a ]] stuff to postpone [[ recognizer

Pardon this newbie for asking: what is a recognizer (in this context)?

-- 
Rudy Velthuis        http://www.rvelthuis.de

"A husband is what is left of the lover after the nerve has been 
 extracted."
 -- Helen Rowland (1876-1950)

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


#57657

FromAlex <alex@rivadpm.com>
Date2017-04-20 19:23 +0100
Message-ID<odau4p$hma$1@dont-email.me>
In reply to#57649
On 4/20/2017 18:17, Rudy Velthuis wrote:
> Alex wrote:
> 
>> On 4/20/2017 15:02, Alex wrote:
>>> I've put my Windows Forth up on github at
>>> https://github.com/alextangent/wf32
>>>
>>> ...
>>>
>>
>> I forgot to say; it uses recognizers.
>>
>>    "a quoted and \"escaped\"string" recognizer
>>    a tick (for example 'dup) recognizer
>>    a ]] stuff to postpone [[ recognizer
> 
> Pardon this newbie for asking: what is a recognizer (in this context)?
> 

Recognizers are an experiment in having an extensible parser built into 
the Forth interpreter. The original idea is by Matthias Trute. Here's 
his paper on the subject 
http://amforth.sourceforge.net/pr/Recognizer-rfc-D.html. I am a big fan 
of this, as it fixes a significant number of problems with the 
traditional methods used.

-- 
Alex

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


#57703

From"Rudy Velthuis" <newsgroups@rvelthuis.de>
Date2017-04-21 09:40 +0000
Message-ID<xn0kozrb11hjth001@nntp.aioe.org>
In reply to#57657
Alex wrote:

> On 4/20/2017 18:17, Rudy Velthuis wrote:
> > Alex wrote:
> > 
> > > On 4/20/2017 15:02, Alex wrote:
> > > > I've put my Windows Forth up on github at
> > > > https://github.com/alextangent/wf32
> > > > 
> > > > ...
> > > > 
> > > 
> > > I forgot to say; it uses recognizers.
> > > 
> >>   "a quoted and \"escaped\"string" recognizer
> >>   a tick (for example 'dup) recognizer
> >>   a ]] stuff to postpone [[ recognizer
> > 
> > Pardon this newbie for asking: what is a recognizer (in this
> > context)?
> > 
> 
> Recognizers are an experiment in having an extensible parser built
> into the Forth interpreter. The original idea is by Matthias Trute.
> Here's his paper on the subject
> http://amforth.sourceforge.net/pr/Recognizer-rfc-D.html. I am a big
> fan of this, as it fixes a significant number of problems with the
> traditional methods used.

Ah, thanks! 

-- 
Rudy Velthuis        http://www.rvelthuis.de

"They have computers, and they may have other weapons of mass
 destruction." -- Janet Reno, Us Attorney General, 02-27-98

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


#57709

Fromjosv@planet.nl
Date2017-04-21 02:58 -0700
Message-ID<fd9a9a24-ec5a-4095-825c-60aa9c42e19f@googlegroups.com>
In reply to#57657
Hi,
When I getting into Forth it was easy to learn.
Each word could be explained within 8 lines using a half side of an A4 page (portrait).
Quite clear and understandable.
It seems recognizers are beyond that capability.
Jos

On 20 april 2017 20:23:20 UTC+2 Alex wrote:
> On 4/20/2017 18:17, Rudy Velthuis wrote:
> > Alex wrote:
> > 
> >> On 4/20/2017 15:02, Alex wrote:
> >>> I've put my Windows Forth up on github at
> >>> https://github.com/alextangent/wf32
> >>>
> >>> ...
> >>>
> >>
> >> I forgot to say; it uses recognizers.
> >>
> >>    "a quoted and \"escaped\"string" recognizer
> >>    a tick (for example 'dup) recognizer
> >>    a ]] stuff to postpone [[ recognizer
> > 
> > Pardon this newbie for asking: what is a recognizer (in this context)?
> > 
> 
> Recognizers are an experiment in having an extensible parser built into 
> the Forth interpreter. The original idea is by Matthias Trute. Here's 
> his paper on the subject 
> http://amforth.sourceforge.net/pr/Recognizer-rfc-D.html. I am a big fan 
> of this, as it fixes a significant number of problems with the 
> traditional methods used.
> 
> -- 
> Alex

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


#57713

From"Rudy Velthuis" <newsgroups@rvelthuis.de>
Date2017-04-21 11:44 +0000
Message-ID<xn0kozul98j85y7007@nntp.aioe.org>
In reply to#57709
josv@planet.nl wrote:

> Hi,
> When I getting into Forth it was easy to learn.
> Each word could be explained within 8 lines using a half side of an
> A4 page (portrait).  Quite clear and understandable.
> It seems recognizers are beyond that capability.

I find recognizers actually quite easy to understand. I already
implemented something similar for my number conversion (e.g. the
prefixes like # $ % and 'a', but also 0x as alternative). Recognizers
are just a little better formalized.

-- 
Rudy Velthuis        http://www.rvelthuis.de

"The most important job is not to be Governor, or First Lady in 
 my case." -- George W. Bush

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


#57717

FromAlex <alex@rivadpm.com>
Date2017-04-21 13:49 +0100
Message-ID<odcuvi$8pu$1@dont-email.me>
In reply to#57709
On 4/21/2017 10:58, josv@planet.nl wrote:
> Hi,
> When I getting into Forth it was easy to learn.
> Each word could be explained within 8 lines using a half side of an A4 page (portrait).
> Quite clear and understandable.
> It seems recognizers are beyond that capability.
> Jos
> 

They're easier to write than (perhaps) to explain. Much of the 
explanation is because the approach is novel, requires the interpreter 
to change, and has some desirable side effects in terms of parsing.

Here's a recognizer for a hex number prefixed by 0x that have the form 
0x0 up to 0xffffffff.

First we need to specify a set of rules for processing the number in 
each state; here it's called DT:0X. Then we need a recognizer, called 
rec:0x here. If it succeeds, then return n DT:0X else return DT:NULL. 
Lastly, add our recognizer to the stack of recognizers.

: plit postpone literal ;

   ' noop                           \ interpret: do nothing
   ' plit                           \ compile as a literal
   :noname plit postpone plit ;     \ postpone a literal
dt-token: dt:0x ( n -- )

: rec:0x ( addr u -- n dt:number | dt:null )
     dup 2 >= if
       over 2 s" 0x" compare 0= if
         base @ >r hex
         2 /string 0 0 2swap >number \ n n addr len
         r> base !
         nip + dup 0= if
           drop dt:0x exit
         then
       then
     then 2drop dt:null ;

' rec:0x get-recognizers 1+ set-recognizers

And we're done. You can try it out in WF32.

-- 
Alex

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


#57722

Fromjosv@planet.nl
Date2017-04-21 09:03 -0700
Message-ID<a7d183fc-63f1-4fff-bb08-74c79a2d2192@googlegroups.com>
In reply to#57717
Hi Alex,

Thanks for the explanation.
Despite more than 8 lines. :-)

Jos

On 21 april 2017 14:49:53 UTC+2 Alex wrote:
> On 4/21/2017 10:58, jos..nl wrote:
> > Hi,
> > When I getting into Forth it was easy to learn.
> > Each word could be explained within 8 lines using a half side of an A4 page (portrait).
> > Quite clear and understandable.
> > It seems recognizers are beyond that capability.
> > Jos
> > 
> 
> They're easier to write than (perhaps) to explain. Much of the 
> explanation is because the approach is novel, requires the interpreter 
> to change, and has some desirable side effects in terms of parsing.
> 
> Here's a recognizer for a hex number prefixed by 0x that have the form 
> 0x0 up to 0xffffffff.
> 
> First we need to specify a set of rules for processing the number in 
> each state; here it's called DT:0X. Then we need a recognizer, called 
> rec:0x here. If it succeeds, then return n DT:0X else return DT:NULL. 
> Lastly, add our recognizer to the stack of recognizers.
> 
> : plit postpone literal ;
> 
>    ' noop                           \ interpret: do nothing
>    ' plit                           \ compile as a literal
>    :noname plit postpone plit ;     \ postpone a literal
> dt-token: dt:0x ( n -- )
> 
> : rec:0x ( addr u -- n dt:number | dt:null )
>      dup 2 >= if
>        over 2 s" 0x" compare 0= if
>          base @ >r hex
>          2 /string 0 0 2swap >number \ n n addr len
>          r> base !
>          nip + dup 0= if
>            drop dt:0x exit
>          then
>        then
>      then 2drop dt:null ;
> 
> ' rec:0x get-recognizers 1+ set-recognizers
> 
> And we're done. You can try it out in WF32.
> 
> -- 
> Alex

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


#57650

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2017-04-20 19:22 +0200
Message-ID<odaqph$7tc$1@cherry.spenarnc.xs4all.nl>
In reply to#57642
In article <odaesj$quo$1@dont-email.me>, Alex  <alex@rivadpm.com> wrote:
>I've put my Windows Forth up on github at
>https://github.com/alextangent/wf32
>
>Licensed where possible under the 2 clause BSD
>https://opensource.org/licenses/BSD-2-Clause
>
>The system started life as a branch of Win32Forth. It is now pretty well
>unrecognisable, but it has helped bootstrap WF32 into life.
>
>. it's a complete bottom up rewrite
>. it's an STC not an ITC;
>. it doesn't do very many Window-ey things and is a console application;
>. it has a very extensive and completely rewritten assembler that
>supports 32 and 64 bit rather than the original 16 and 32 bit
>. it is very documentation lite.
>. and so on.

Was it a lot of effort to accomodate a 64 bit assembler?

(The ciforth fp is written in assembler, for 32 bit.
I discovered that I needed only 48 C, in front of NEXT,
and take care of conversion to integer, to make it
work on 64 bits. At that point I stopped.)

>--
>Alex

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]


#57656

FromAlex <alex@rivadpm.com>
Date2017-04-20 19:19 +0100
Message-ID<odatt1$gs8$1@dont-email.me>
In reply to#57650
On 4/20/2017 18:22, Albert van der Horst wrote:
> 
> Was it a lot of effort to accomodate a 64 bit assembler?

No, because I started there with 64 bits and worked my way back to 32 
bits. It was a definite design goal not to support 16 bits; I had 
considered using the Win32Forth assembler as a starting point, but it 
has too much 16 bit stuff and is horribly complex (and sometimes 
generates bad code).

The core of the assembler is around 800 lines, and a lot of them are 
comments. I think it's approx 500 lines or so. There's a chunk of it 
designed to be used from automated code generators, rather than the full 
blown syntax supported by CODE words.

The rest is all the opcodes and encodings. Having a relatively 
sophisticated core makes it easier to add opcodes; adding float support 
is around 200 lines of code. VEX is working out at just over 1 line per 
opcode.

-- 
Alex

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


#57684 — Re: WF32, a Windows 32 bit Forth

From"HAA" <someone@microsoft.com>
Date2017-04-21 13:44 +1000
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<odbv80$107s$1@gioia.aioe.org>
In reply to#57642
Alex wrote:
> ...
> Why change the licence from public domain to BSD? Partly because PD
> really doesn't have any legal standing in UK law; a new version of a
> public domain work will be copyright protected, even though the original
> work is not.

That's the whole idea.  You can rework a 'public domain' work then do with
it as you please including, as you did, place a copyright on it.  The original
work however remains 'public domain'.  Having copyrighted the new work,
you must now defend it against others who would seek to violate the terms
you imposed and that's where the law comes in (if you can afford it).
The hassle and expense may make sense if commercial interests were
at stake but for the average hobbyist with nothing to gain, it's easier to
declare your work 'public domain' understanding that it will remain so.


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


#57766 — Re: WF32, a Windows 32 bit Forth

FromRod Pemberton <NeedNotReplyHere@xrsevnneqk.cem>
Date2017-04-21 22:45 -0400
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<20170421224554.3164118b@_>
In reply to#57684
On Fri, 21 Apr 2017 13:44:16 +1000
"HAA" <someone@microsoft.com> wrote:

> Alex wrote:

> > Why change the licence from public domain to BSD? Partly because PD
> > really doesn't have any legal standing in UK law; a new version of a
> > public domain work will be copyright protected, even though the
> > original work is not.  
> 
> That's the whole idea.  You can rework a 'public domain' work then do
> with it as you please including, as you did, place a copyright on
> it.

Placing a copyright on a public domain work is not legal in the U.S. as
copyright law cannot be applied to a work once in the public domain.
Placing another copyright on a copyrighted work for the modifications
to that work is not legal in the U.S. either.  The reason for both
of these is because trivial changes to an existing work are NOT
copyrightable under U.S. law, at all, e.g., patches, corrections,
modifications, etc.  Under U.S. law, trivial modifications to a work
fall under the original copyright or lack thereof, i.e., public domain.
This means that changes to GNU copyleft code fall under GNU copyleft,
and changes to public domain works fall under the public domain.  If he
made substantial changes, then he can copyright those changes, if
they've been extracted from the original public domain work.  Also, the
only time a copyright can be applied to a derivation of another
copyrighted work is when there are substantial changes which are
sufficient enough to qualify the derivation as a completely new work in
the eyes of the law.  If his modifications are less than the majority
of the derivative work, then he can't copyright the resulting
derivation.


Rod Pemberton
-- 
All it takes for humanity to conquer the world's toughest problems
is to hope, to believe, to share, and to do, in cooperation.

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


#57768 — Re: WF32, a Windows 32 bit Forth

FromRod Pemberton <NeedNotReplyHere@xrsevnneqk.cem>
Date2017-04-21 22:50 -0400
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<20170421225022.43448b45@_>
In reply to#57766
On Fri, 21 Apr 2017 22:45:54 -0400
Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> wrote:

> On Fri, 21 Apr 2017 13:44:16 +1000
> "HAA" <someone@microsoft.com> wrote:
> > Alex wrote:  
 
> > > Why change the licence from public domain to BSD? Partly because
> > > PD really doesn't have any legal standing in UK law; a new
> > > version of a public domain work will be copyright protected, even
> > > though the original work is not.    
> > 
> > That's the whole idea.  You can rework a 'public domain' work then
> > do with it as you please including, as you did, place a copyright on
> > it.  
> 
> Placing a copyright on a public domain work is not legal in the U.S.
> as copyright law cannot be applied to a work once in the public
> domain. Placing another copyright on a copyrighted work for the
> modifications to that work is not legal in the U.S. either.  The
> reason for both of these is because trivial changes to an existing
> work are NOT copyrightable under U.S. law, at all, e.g., patches,
> corrections, modifications, etc.  Under U.S. law, trivial
> modifications to a work fall under the original copyright or lack
> thereof, i.e., public domain. This means that changes to GNU copyleft
> code fall under GNU copyleft, and changes to public domain works fall
> under the public domain.  If he made substantial changes, then he can
> copyright those changes, if they've been extracted from the original
> public domain work.  Also, the only time a copyright can be applied
> to a derivation of another copyrighted work is when there are
> substantial changes which are sufficient enough to qualify the
> derivation as a completely new work in the eyes of the law.  If his
> modifications are less than the majority of the derivative work, then
> he can't copyright the resulting derivation.
> 
> 

P.S.  There is no way to make U.S. public domain works legally
compliant with legal jurisdictions, e.g., Germany, which do not
recognize the concept of public domain (no copyright, or expired
copyright).


Rod Pemberton
-- 
All it takes for humanity to conquer the world's toughest problems
is to hope, to believe, to share, and to do, in cooperation.

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


#57778 — Re: WF32, a Windows 32 bit Forth

Fromrickman <gnuarm@gmail.com>
Date2017-04-22 00:57 -0400
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<odenlg$i74$1@dont-email.me>
In reply to#57768
On 4/21/2017 10:50 PM, Rod Pemberton wrote:
> On Fri, 21 Apr 2017 22:45:54 -0400
> Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> wrote:
>
>> On Fri, 21 Apr 2017 13:44:16 +1000
>> "HAA" <someone@microsoft.com> wrote:
>>> Alex wrote:
>
>>>> Why change the licence from public domain to BSD? Partly because
>>>> PD really doesn't have any legal standing in UK law; a new
>>>> version of a public domain work will be copyright protected, even
>>>> though the original work is not.
>>>
>>> That's the whole idea.  You can rework a 'public domain' work then
>>> do with it as you please including, as you did, place a copyright on
>>> it.
>>
>> Placing a copyright on a public domain work is not legal in the U.S.
>> as copyright law cannot be applied to a work once in the public
>> domain. Placing another copyright on a copyrighted work for the
>> modifications to that work is not legal in the U.S. either.  The
>> reason for both of these is because trivial changes to an existing
>> work are NOT copyrightable under U.S. law, at all, e.g., patches,
>> corrections, modifications, etc.  Under U.S. law, trivial
>> modifications to a work fall under the original copyright or lack
>> thereof, i.e., public domain. This means that changes to GNU copyleft
>> code fall under GNU copyleft, and changes to public domain works fall
>> under the public domain.  If he made substantial changes, then he can
>> copyright those changes, if they've been extracted from the original
>> public domain work.  Also, the only time a copyright can be applied
>> to a derivation of another copyrighted work is when there are
>> substantial changes which are sufficient enough to qualify the
>> derivation as a completely new work in the eyes of the law.  If his
>> modifications are less than the majority of the derivative work, then
>> he can't copyright the resulting derivation.
>>
>>
>
> P.S.  There is no way to make U.S. public domain works legally
> compliant with legal jurisdictions, e.g., Germany, which do not
> recognize the concept of public domain (no copyright, or expired
> copyright).

Maybe I don't understand.  Are you saying in Germany copyrights don't 
expire?

-- 

Rick C

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


#57881 — Re: WF32, a Windows 32 bit Forth

FromRod Pemberton <NeedNotReplyHere@xrsevnneqk.cem>
Date2017-04-22 23:32 -0400
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<20170422233255.1469e9da@_>
In reply to#57778
On Sat, 22 Apr 2017 00:57:11 -0400
rickman <gnuarm@gmail.com> wrote:

> On 4/21/2017 10:50 PM, Rod Pemberton wrote:
> > On Fri, 21 Apr 2017 22:45:54 -0400
> > Rod Pemberton <NeedNotReplyHere@xrsevnneqk.cem> wrote:

> > P.S.  There is no way to make U.S. public domain works legally
> > compliant with legal jurisdictions, e.g., Germany, which do not
> > recognize the concept of public domain (no copyright, or expired
> > copyright).  
> 
> Maybe I don't understand.  Are you saying in Germany copyrights don't 
> expire?
> 

My understanding is that the E.U. doesn't have the concept of Public
Domain.  E.g., I was told that when an E.U. government creates
software with taxpayer money, it is not Public Domain as for the U.S.
(belonging to the people of the U.S.), but is copyrighted by their
government (belongs to the State).  The State may license the
copyright as they see fit.  I.e., once a copyright "expires" in the
E.U., the copyright ownership simply transfers from the holder to the
State.  Ownership doesn't transfer into the Public Domain as in
the U.S.  Another person in the E.U. told me they couldn't work on a
Public Domain project because there was no legal way for them to forfeit
copyright (no copyright) under E.U. laws, as E.U. laws and treaties
automatically copyright their works for the life of the author and some
years.

(Of course, you could Google or Wikipedia to confirm or correct.)


Rod Pemberton
-- 
All it takes for humanity to conquer the world's toughest problems
is to hope, to believe, to share, and to do, in cooperation.

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


#58005 — Re: WF32, a Windows 32 bit Forth

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2017-04-24 16:54 +0000
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<2017Apr24.185435@mips.complang.tuwien.ac.at>
In reply to#57778
rickman <gnuarm@gmail.com> writes:
>On 4/21/2017 10:50 PM, Rod Pemberton wrote:
>> P.S.  There is no way to make U.S. public domain works legally
>> compliant with legal jurisdictions, e.g., Germany, which do not
>> recognize the concept of public domain (no copyright, or expired
>> copyright).
>
>Maybe I don't understand.  Are you saying in Germany copyrights don't 
>expire?

That's what he is saying, but he is wrong.

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


#58008 — Re: WF32, a Windows 32 bit Forth

Fromrickman <gnuarm@gmail.com>
Date2017-04-24 13:05 -0400
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<odlb2p$i73$2@dont-email.me>
In reply to#58005
On 4/24/2017 12:54 PM, Anton Ertl wrote:
> rickman <gnuarm@gmail.com> writes:
>> On 4/21/2017 10:50 PM, Rod Pemberton wrote:
>>> P.S.  There is no way to make U.S. public domain works legally
>>> compliant with legal jurisdictions, e.g., Germany, which do not
>>> recognize the concept of public domain (no copyright, or expired
>>> copyright).
>>
>> Maybe I don't understand.  Are you saying in Germany copyrights don't
>> expire?
>
> That's what he is saying, but he is wrong.

He did follow up.  He says the original copyright expires, but it 
doesn't go into public domain, it becomes property of the state.  That 
does seem a bit strange.

-- 

Rick C

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


#58066 — Re: WF32, a Windows 32 bit Forth

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2017-04-25 07:26 +0000
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<2017Apr25.092650@mips.complang.tuwien.ac.at>
In reply to#58008
rickman <gnuarm@gmail.com> writes:
>He says the original copyright expires, but it 
>doesn't go into public domain, it becomes property of the state.

Also wrong.

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


#57812 — Re: WF32, a Windows 32 bit Forth

FromAlex <alex@rivadpm.com>
Date2017-04-22 12:48 +0100
SubjectRe: WF32, a Windows 32 bit Forth
Message-ID<odffoe$nfl$1@dont-email.me>
In reply to#57766
On 4/22/2017 03:45, Rod Pemberton wrote:
> On Fri, 21 Apr 2017 13:44:16 +1000
> "HAA" <someone@microsoft.com> wrote:
> 
>> Alex wrote:
> 
>>> Why change the licence from public domain to BSD? Partly because PD
>>> really doesn't have any legal standing in UK law; a new version of a
>>> public domain work will be copyright protected, even though the
>>> original work is not.
>>
>> That's the whole idea.  You can rework a 'public domain' work then do
>> with it as you please including, as you did, place a copyright on
>> it.
> 
> Placing a copyright on a public domain work is not legal in the U.S. as
> copyright law cannot be applied to a work once in the public domain.

I'm not in the US. I am also not a lawyer (and I suspect you're not one).


> Placing another copyright on a copyrighted work for the modifications
> to that work is not legal in the U.S. either.  The reason for both
> of these is because trivial changes to an existing work are NOT
> copyrightable under U.S. law, at all, e.g., patches, corrections,
> modifications, etc.  Under U.S. law, trivial modifications to a work
> fall under the original copyright or lack thereof, i.e., public domain.

The changes are so substantial that I defy anyone to find common ground 
between, for example, the Win32Forth kernel and the WF32 kernel, beyond 
the unavoidable commonality of words named DUP SWAP etc.

> This means that changes to GNU copyleft code fall under GNU copyleft,
> and changes to public domain works fall under the public domain.  If he
> made substantial changes, then he can copyright those changes, if
> they've been extracted from the original public domain work.  Also, the
> only time a copyright can be applied to a derivation of another
> copyrighted work is when there are substantial changes which are
> sufficient enough to qualify the derivation as a completely new work in
> the eyes of the law.  If his modifications are less than the majority
> of the derivative work, then he can't copyright the resulting
> derivation.
> 
Yes, that is the case.

But again, I am in the UK, so (in the main) the Berne convention 
applies, where works eventually fall into the public domain after a 
period of time. I can't see any way where you can place a work in the 
public domain immediately. Copyright is automatic.

> 
> Rod Pemberton
> 


-- 
Alex

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


Page 1 of 2  [1] 2  Next page →

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


csiph-web