Skip to content

jcreedcmu/twelf-mac

Repository files navigation

Twelf on Classic Mac

Screenshot of Twelf on Classic Mac

The purpose of this repository is to build a version of the Twelf logical framework that can be run in the "Classic Mac" environment of approximately System 7 era. The current emulation target is a Quadra 800 running System 7.5.3.

Status:

  • ✅ Twelf runs and can typecheck simple signatures that are typed in by hand
  • ✅ Application and document icons exist
  • ✅ File IO (Open, Save) is implemented
  • ✅ Scrolling of the input document works
  • ✅ Selection of output text works
  • ✅ Copy/Paste is implemented
  • 🚫 Revert doesn't work yet
  • 🚫 Unsafe Eval doesn't work yet

Setup Notes

Much thanks to agoode for explaining a lot of this.

I'm using Retro68 to compile C to run on an emulated mac. I build qemu 8.2.2 from source with

sudo apt install libglib2.0-dev libpixman-1-dev libgtk-3-dev libasound2-dev libslirp-dev
mkdir build
cd build
../configure --target-list=m68k-softmmu --enable-gtk  --enable-pixman --enable-slirp
make

I needed to put in this directory:

Building and Running the App

Build

On linux cross-compile host:

cd docker
make Twelf.bin

Install

On linux cross-compile host:

make serve # spawns a local web server

Start MacOS guest with ./qemu-macos. Inside MacOS guest:

  • Launch Netscape Navigator from Saved HD.
  • Go to http://10.0.2.2:8000/ (this is the host-local web server)
  • Download Twelf.bin
  • Expand it in Stuffit Expander to create app named Twelf.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published