Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Free 64-bit Forth for MacOS

159 views
Skip to first unread message

Doug Hoffman

unread,
Apr 13, 2022, 11:15:29 AM4/13/22
to
It has come to my attention that a new release of iMops is available.
This updated version runs on all Intel MacOS systems including the
latest version (Monterey, or v12.3x).

"As an offspring of PowerMops, iMops is an X86-64 native implementation
of the Mops language for Mac OS X. It is also a subroutine threaded,
optimizing Forth compiler and linked with Cocoa/Objective-C."

https://sourceforge.net/projects/powermops/files/iMops/
( Download iMops223.zip release date = 2022-02-05 )
- license is Public Domain
- iMops development system = 952 Kb on disk
- stand alone applications will be much smaller (not tested by me yet)
- full source code is supplied, iMops is written in iMops and rebuilding
the iMops system from scratch is quick and easy
- while my name is listed at the top of the SourceForge page, I have not
been involved with the Mops project since 2004
- I believe Nao Sacrada is the primary developer of iMops, perhaps with
some help from Mike Hore (not sure)
- I notice that the cgrDemo works fine on MacOS High Sierra (v10.13) but
does not work on the latest OS (Monterey). Not sure what is going on
there.

I haven't spent much time with the new iMops yet but what I have seen so
far looks impressive. It is a full featured Forth, surely not fully
ANS compliant but most Forthers will have little trouble adapting.

iMops comes with its own object system that includes many useful
classes, duck typing, multiple inheritance, garbage collection, and
[parameter]-message-object syntax that works great IMO.

One feature of iMops is its native integration to the MacOS including
GUI calls. As a quick test of this I wrote code for a Rosetta Code
exercise that creates a simple GUI window with a push button and
display. The code for that follows. I should stress that while the GUI
integration is nice, it is an excellent Forth even if the GUI is ignored.

-Doug

Ref: https://rosettacode.org/wiki/Simple_windowed_application

\ iMops 2.23 code
Window+ w
View wview
Button b
100 30 100 20 setFrame: b
" click me" setTitle: b

TextView text
200 30 200 10 setFrame: text

0 value cnt
:noname 1 ++> cnt
0 #ofChars: text SetSelect: text
" Number of clicks: " insert: text
cnt deciNumstr insert: text ; setAction: b

: go
b addview: wview
text addview: wview
300 30 430 230 put: frameRect
frameRect " Test" docWindow
wview new: w show: w
" There have been no clicks yet" insert: text ;

Anton Ertl

unread,
Apr 13, 2022, 11:37:20 AM4/13/22
to
Doug Hoffman <dhoff...@gmail.com> writes:
>It has come to my attention that a new release of iMops is available.
>This updated version runs on all Intel MacOS systems including the
>latest version (Monterey, or v12.3x).
>
>"As an offspring of PowerMops, iMops is an X86-64 native implementation
>of the Mops language for Mac OS X. It is also a subroutine threaded,
>optimizing Forth compiler and linked with Cocoa/Objective-C."

I see that iMops goes at least as far back as 2014. I missed it up to
now.

I also see that there is aMops (and I guess that this is for Aarch64;
or maybe the "a" stands for Apple Silicon):

https://sourceforge.net/projects/powermops/files/aMops-CG/

- 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 2021: https://euro.theforth.net/2021

Doug Hoffman

unread,
Apr 13, 2022, 1:53:20 PM4/13/22
to
On 4/13/22 11:34 AM, Anton Ertl wrote:
> Doug Hoffman <dhoff...@gmail.com> writes:
>> It has come to my attention that a new release of iMops is available.
>> This updated version runs on all Intel MacOS systems including the
>> latest version (Monterey, or v12.3x).
>>
>> "As an offspring of PowerMops, iMops is an X86-64 native implementation
>> of the Mops language for Mac OS X. It is also a subroutine threaded,
>> optimizing Forth compiler and linked with Cocoa/Objective-C."
>
> I see that iMops goes at least as far back as 2014. I missed it up to
> now.

2014 sounds about right. I recall being disappointed in how long it took
for iMops to appear. That is when I switched over to MacForthonVFX which
ran very nicely on Intel Macs thanks to VFX. Problem now is MFonVFX has
stopped working at some OS after High Sierra. Perhaps Ward McFarland is
working on an update, I don't know. I really like MFonVFX and keep an
older Macbook Pro around with the High Sierra OS so I can run it when
needed. I currently run 64-bit VFX on my newer Mac with Monterey OS
which all works very nicely.

> I also see that there is aMops (and I guess that this is for Aarch64;
> or maybe the "a" stands for Apple Silicon):

Yes, something like that I guess. aMops has been a long time pet project
for Mike Hore. I recall him talking about some of the ideas he had back
in 2004 or thereabout. Mike has a degree in Computer Science and is
pretty skilled at these things. Most of what he talked about I did not
understand.

I have no idea when aMops is expected to be released. It will be
interesting to see what aMops can do. Mike is focused on high
performance through optimization of the generated code. I don't know how
much influence Mike has had on iMops other than creating PowerMops for
the PPC as a general guideline of sorts.

-Doug

> https://sourceforge.net/projects/powermops/files/aMops-CG/

Anton Ertl

unread,
Apr 13, 2022, 5:38:50 PM4/13/22
to
Doug Hoffman <dhoff...@gmail.com> writes:
>On 4/13/22 11:34 AM, Anton Ertl wrote:
>> I see that iMops goes at least as far back as 2014. I missed it up to
>> now.
>
>2014 sounds about right. I recall being disappointed in how long it took
>for iMops to appear.

Mike Hore had announced that he would not retarget Mops for Intel, so
I am surprised that it appeared at all.

When Apple announced the switch to ARM, I was wondering if he would
resume Mops development. It seems he did.

>I have no idea when aMops is expected to be released.

<https://www.powermops.org/news/> says:

* 2022-02-21: aMops Code Generator 3.1
...
* 2020-10-30: aMops Code Generator 1.0

Doug Hoffman

unread,
Apr 19, 2022, 8:03:14 AM4/19/22
to
On 4/13/22 11:15 AM, Doug Hoffman wrote:
> It has come to my attention that a new release of iMops is available.

> - full source code is supplied, iMops is written in iMops and rebuilding
>   the iMops system from scratch is quick and easy

The "Rebuild-iMops.rtf" instructions has a typo in Step 5:

savedic should be save-dic

-Doug

Doug Hoffman

unread,
Apr 24, 2022, 5:22:10 AM4/24/22
to
On 4/13/22 11:15 AM, Doug Hoffman wrote:
> It has come to my attention that a new release of iMops is available.

> It is a full featured Forth, surely not fully
> ANS compliant ...

Actually, "Core and Core EXT words in Forth200x draft are all defined.
But there are some deviations."

So I stand corrected there on my misleading comment.

-Doug

0 new messages