
MacLua5.3: Classic MacOS port of Lua 5.3 - arm
https://github.com/SolraBizna/MacLua5.3
======
zevv
Here is Lua being compiled on Turbo C 1.0 (1990):

    
    
      https://www.youtube.com/watch?v=-jvLY5pUwic
    

It is truly amazing how the authors have put so much effort in keeping Lua so
portable - about the only dependency for running Lua on any device is having a
C compiler and a bit of memory.

~~~
classichasclass
There was Plua for PalmOS as well. I still use that for a Palm-powered remote
light control. It even had GUI construction primitives built-in and could be
"cross compiled" (disclaimer: I maintained the Mac OS X port).

------
tambourine_man
I’m so glad there are people doing this kind of thing.

I have a sweet spot for classic Mac OS, something about its simplicity hasn’t
been match since, but I can’t imagine the motivation for doing this beyond
pure fun.

~~~
asveikau
Came here to say this. Lack of memory protection and preemption was atrocious.
But the UI was dead simple and a joy. I also used to like to pick apart things
in ResEdit.

~~~
mrweasel
Both Windows 3.11 and the classic MacOS would be great interface to clone in a
Unix window manager or Wayland compositor. Sure they're old but so many of the
concepts still hold up and honestly most of us don't need much more than that.

~~~
rvense
It's not just the interface, though. Note how "installing" stuff is just
dragging files to the right locations.

You could make fully bootable backups of your main drive just by copying
everything from the root to a new drive. None of this re-installation rubbish
or ownership getting messed up or what have you. It even worked across
architectures, a Mac System 7.5 installation will boot on both 68k machines
and supported PowerPC systems, just swap the drive over and you're going.

~~~
tambourine_man
Even better: you could create a RAM disk, copy system file and reboot from it
at lighting speed.

What I miss the most is the true spacial Finder. Copy a file to a floppy disk,
add a custom icon and place it at a precise location on a window. Go to a
different Mac and insert the drive. All those attributes are honored. Every
single time no matter what. Such a simple and powerful model.

~~~
Zelizz
Don't they still have that? Isn't that what the .DS_Store folders are for? I
feel like I used to do that with USB drives to use on school computers.

~~~
Wowfunhappy
Yep, I can absolutely confirm this still works.

(And honestly, while I see the advantages, I'd rather we not have this feature
so we can also not have .DS_Store files. .DS_Store files suck.)

~~~
tambourine_man
Not reliably and consistently. And it's not a bug, it's a design decision.

There used to be a one to one mapping of folders to windows. The moment you
decide 2 windows can show the content of the same folder simultaneously (which
has its advantages), you run in these issues. Which is the canonical view that
should be preserved?

And yes, we had all that without . DS_Store files.

~~~
Wowfunhappy
> There used to be a one to one mapping of folders to windows. The moment you
> decide 2 windows can show the content of the same folder simultaneously
> (which has its advantages), you run in these issues. Which is the canonical
> view that should be preserved?

I'd posit most of us rarely open the same folder in two different windows,
which means the icons should behave as expected in all but an uncommon edge
case. It has worked in my experience, at least.

But separately, just as a though experiment: when an icon is moved in one
window, the placement ought to update in both windows, in real time. Probably
wouldn't have been feasible when macOS X was new, but perfectly doable today
given modern computing power.

------
mitchtbaum
When I think about programming on Mac in a language like Lua, I think about
Apple Automator and another visual programming environment for mostly digital
audio synthesis which I can't remember, but it starts with an 'S' afair. (it's
very graphics intensive)

This Lua Logic Editor presentation has a lot more info:
[https://www.lua.org/wshop13/Gladysh.pdf](https://www.lua.org/wshop13/Gladysh.pdf)

~~~
jpfed
[https://en.wikipedia.org/wiki/SuperCollider](https://en.wikipedia.org/wiki/SuperCollider)
?

~~~
mitchtbaum
No. That one is strictly audio and is cross-platform. The one I'm thinking of
has some closer connection to Automator... now I remember! It's
[https://en.wikipedia.org/wiki/Quartz_Composer](https://en.wikipedia.org/wiki/Quartz_Composer)

Wonder how the S wire got crossed with it.. :)

------
mrpippy
It would be fun to do a similar port of an embeddable JS engine like Duktape
([https://duktape.org](https://duktape.org)) also

------
pjmlp
This looks quite interesting. Kudos for the porting effort.

------
favorited
Lua is such a great language. I wish I had a chance to use it more often.

------
RodgerTheGreat
Any chance of an hqx-ed up binary release? I'd love to give this a spin on my
Powerbook 180.

~~~
kalleboo
There's one under Releases
[https://github.com/SolraBizna/MacLua5.3/releases](https://github.com/SolraBizna/MacLua5.3/releases)

Just tried it on my PowerBook G3, runs beautifully:
[https://i.imgur.com/y0cI15O.jpg](https://i.imgur.com/y0cI15O.jpg)

Now I just gotta learn Lua...

~~~
arm
Oh wow, I love how you have Mac OS skinned in that screenshot! Mind sharing
what you did to get it looking like that?

~~~
kalleboo
Using this classic piece of software
[https://en.wikipedia.org/wiki/Kaleidoscope_(software)](https://en.wikipedia.org/wiki/Kaleidoscope_\(software\))

This account tweets random schemes for an idea of how they can look:
[https://twitter.com/kaleidoscopemac](https://twitter.com/kaleidoscopemac)

------
mntmn
Very nice. With ShapeShifter, this will also run on classic Amigas.

~~~
vhodges
And with Apollo Core it'll be fast too :)

------
ww520
That's excellent news. I wish the MacOS has more open source porting support,
like making Wine work on 64-bit MacOS.

~~~
classichasclass
This is classic MacOS (pre-OS X "macOS"). Porting to it is a rather different
kettle of fish. Things like SIOW and SIOUX helped but tools ported in that
fashion were never first class citizens in the classic Mac ecosystem because
there's no native CLI or underlying Un*xy layer. At least this one chains up
to MPW, which is a nice little feature.

