I am currently stuck using ,0.7.3 from a homebrew installation, I have so f= >ar not been able to build either 0.7.3 or 0.7.9 from sources on my M1 macmi= >ni as I get errors I don't understand.
Putting that to one side, I am getting confused by the online GForth manual=
here,
https://www.gnu.org/software/gforth/
It says the current release is 0.7.3, but when I click the User Manual link= >, it takes me to one place, and click to https://www.complang.tuwien.ac.at/= >forth/gforth/Docs-html/index.html#Top it says it is for version 0.7.0
but this site
https://gforth.org/manual/
is clearly for 0.7.9
So where is the documentation for 0.7.3?
It says it is for version 0.7.9, but I keep finding references to "gforth 1= >.0" as well, is this another planned release or am I misunderstanding somet= >hing else?
For example, on the 0.7.9 page: https://gforth.org/manual/_0024tring-words.= >html#index-_0024tmp_0028--xt-_002d_002d-addr-u--_0029-gforth_002d1_002e0
`$[] ( u $[]addr =E2=80=93 addr=E2=80=99 ) gforth-1.0 =E2=80=9Cstring-arra= >y=E2=80=9D`
What does the gforth-1.0 mean ?
"Sean Charles (emacstheviking)" <obj...@gmail.com> writes:
I am currently stuck using ,0.7.3 from a homebrew installation, I have so f=Gforth 0.7.9 builds fine on an M1 Mac Mini running Linux. MacOS is a different story. I have not managed to make it run there. It seems
ar not been able to build either 0.7.3 or 0.7.9 from sources on my M1 macmi= >ni as I get errors I don't understand.
that it does not work when we mmap a region with RWX permissions, and
I have seen documentation that instructs JIT compiler writers to jump through some hoops. We have neither jumped through these hoops, nor succeeded in adding a workaround for the breakage yet (although both
look to be just a matter of spending enough time on it; but for that
MacOS would have to reach the top of our ToDo list).
Putting that to one side, I am getting confused by the online GForth manual=
here,
https://www.gnu.org/software/gforth/
It says the current release is 0.7.3, but when I click the User Manual link=0.7.3 is just a bugfix release for 0.7.0, so the 0.7.0 documentation
, it takes me to one place, and click to https://www.complang.tuwien.ac.at/= >forth/gforth/Docs-html/index.html#Top it says it is for version 0.7.0
is the same as the 0.7.3 documentation.
but this site
https://gforth.org/manual/
is clearly for 0.7.9
So where is the documentation for 0.7.3?Use the 0.7.0 documentation.
It says it is for version 0.7.9, but I keep finding references to "gforth 1=
.0" as well, is this another planned release or am I misunderstanding somet=
hing else?
When 0.7.9 is released, it will be called Gforth 1.0. Every word in
Gforth that's younger than 0.7.[0-3] is marked as gforth-1.0 in the documentation.
For example, on the 0.7.9 page: https://gforth.org/manual/_0024tring-words.=
html#index-_0024tmp_0028--xt-_002d_002d-addr-u--_0029-gforth_002d1_002e0
`$[] ( u $[]addr =E2=80=93 addr=E2=80=99 ) gforth-1.0 =E2=80=9Cstring-arra= >y=E2=80=9D`
What does the gforth-1.0 mean ?It means that $[] is a Gforth-specific word that was added after
0.7.[0-3].
- 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: https://forth-standard.org/
EuroForth 2022: https://euro.theforth.net
Thank for for your quick reply Anton, and thanks for clearing up my confusi= >on.
I do wonder then how the homebrew binary I installed was built and by whom?=
When I query brew it tells me the formula homepage as that says:
https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gforth.rb
There is a build for ventura, so I assumed that -somebody- managed to build=
it and that I was just doing something wrong.
Now I am confused! When you =
say 'M1Mac Mini running Linux' are you talking about UTM/Parallels or do yo= >u mean on the metal through something like Asaha linux?
I have already built 0.7.9 from source and it runs under UTM fine
Thanks again, and I look forward to 1.0 at some point. I will read up on th= >ose points you made regarding mmap() and RWX permissions as that's new to m= >e. Who knows, perhaps I might even be able to solve the problem... one day.
I first came across FORTH in about 1986, as a very much younger embedded microprocessor engineer, now, some 37 years later I maybe realise I should have stuck with it.
On 2/03/2023 9:25 am, Sean Charles (emacstheviking) wrote:Yes, I put it down to tinnitus.
I first came across FORTH in about 1986, as a very much younger embedded microprocessor engineer, now, some 37 years later I maybe realise I should have stuck with it.You were able to resist the Call of Cthulhu for that long :)
"Sean Charles (emacstheviking)" <obj...@gmail.com> writes:
Thank for for your quick reply Anton, and thanks for clearing up my confusi= >on.
I do wonder then how the homebrew binary I installed was built and by whom?=
When I query brew it tells me the formula homepage as that says:
https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gforth.rb
There is a build for ventura, so I assumed that -somebody- managed to build=I dimly remember succeeding at building 0.7.3, but don't remember
it and that I was just doing something wrong.
details. Ah, here we have Benchmark results:
sieve bubble matrix fib
0.138 0.118 0.071 0.121 0.7.3; Apple M1, Firestorm 3000MHz, MacOS, gcc-12.2.0 0.254 0.240 0.167 0.272 0.7.3; Apple M1, Firestorm 3000MHz, MacOS, clang-14.0.0
IIRC 0.7.3 detects that mmap does not work and falls back to not using dynamic code generation. In 0.7.9 the logic for that part has been
changed, and it does not find the fall back on MacOS.
Now I am confused! When you =Asahi Linux.
say 'M1Mac Mini running Linux' are you talking about UTM/Parallels or do yo= >u mean on the metal through something like Asaha linux?
I have already built 0.7.9 from source and it runs under UTM fineGood to know.
Thanks again, and I look forward to 1.0 at some point. I will read up on th= >ose points you made regarding mmap() and RWX permissions as that's new to m= >e. Who knows, perhaps I might even be able to solve the problem... one day. Don't worry about it (unless you want to do it for the learningexperience). It probably takes quite a lot more work to understand
what the code is supposed to do than to fix it.
- 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: https://forth-standard.org/
EuroForth 2022: https://euro.theforth.net
just so I am clear, does that mean that the version 0.7.3 I am using on my M1 is not able to compile to machien instructions i.e. no JIT or not ?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 55:34:22 |
Calls: | 6,712 |
Files: | 12,243 |
Messages: | 5,355,397 |