Skip to content

jcreedcmu/twelf-mac

Folders and files

NameName
Last commit message
Last commit date
Apr 7, 2024
May 19, 2024
Apr 3, 2024
Apr 8, 2024
Mar 28, 2024
Apr 5, 2024
Apr 15, 2024
Apr 8, 2024
Mar 28, 2024
Apr 22, 2024
Apr 3, 2024
Apr 3, 2024
Mar 28, 2024
Mar 28, 2024
Apr 7, 2024

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