Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions content/en/history/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,17 @@ Interlisp evolved from an interactive terminal style programming tool to Interli

Development of the system moved from Xerox PARC to a Xerox AI Systems division, to a spin-out company called Envos, to a smaller company called Venue. The system was called Interlisp, Interlisp-D, and various named releases (Koto, Lyric, Medley) until the name "Medley" was used for the whole thing.

## Other PARC systems

At PARC there were actually three IDEs developed with different approaches: Smalltalk, with an object-oriented system; Interlisp, for researchers in AI and exploratory development; Cedar/Mesa, with a strongly typed language. They each had a different model for source code management, development and versioning. In common they shared an infrastructure and vision of computing and distributed systems, with support for Ethernet networking, printing, file servers and network protocols. Each environment had its own Virtual Machine instruction set tuned for the language "all the way down", in a single address space, in a way that opened the systems to customization.

There were several different [D-machines](http://www.bitsavers.org/pdf/xerox/parc/Exploring_the_Ethernet_with_Mouse_and_Keyboard_May81.pdf): Dorado, Dolphin, Dandelion, Daybreak, and others. The machines weren't primarily designed for Lisp, although there were some features added.

Each software environment had its own microcode (for each machine) to implement its instruction set; once loaded, the software would take over the machine -- there was no separate OS. Each had large-screen black and white CRTs for a graphical user interface, mouse and cursor pointer, high quality fonts.

When sold as a workstation of the Xerox Office Systems Division, the machines had different numbers -- the Xerox 1108 (Dandelion) was the same as the Xerox 8010. The Xerox 1186 (Daybreak) was the same as the Xerox 6085.


### Detailed History

A more extensive history of Interlisp can be found in the [Interlisp Timeline](timeline). The [Interlisp Bibliography](bibliography) has a wealth of historical material.
Expand Down
47 changes: 14 additions & 33 deletions content/en/project/_index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Project
Title: The Medley Interlisp Project
weight: 2
type: docs
aliases:
Expand All @@ -8,55 +8,36 @@ aliases:
- /medley/about/
- /medley/other/
---
## What is the Medley Interlisp Project?

The Medley Interlisp Project was created to revive Medley Interlisp.

Because Interlisp has been around a long time, with multiple iterations, you might find the multitude of names for the Interlisp language and related companies confusing. To assist, we have created a [glossary of terms](glossary) used on this website.

## What are the origins of Interlisp? Why do we care?

The 1970s and 80s saw major advances in computing and Human-Computer interaction. Interlisp was one of the many experimental systems developed during these heady times. It represents an early example of a system with a GUI (Graphical User Interface), and IDE (Integrated Development Environment).

Within the Xerox PARC environment, it was an early example of a network enabled machine supporting email, file sharing, printing and more. In essence it was a forerunner of today's computing systems.

Medley Interlisp represents the last Xerox Interlisp release. Medley continued Xerox PARC's experimentation with developing systems for [D-machines](http://www.bitsavers.org/pdf/xerox/parc/Exploring_the_Ethernet_with_Mouse_and_Keyboard_May81.pdf). A family of computers (Dorado, Dolphin, Dandelion, Daybreak) resulted. The project was later spun out to a company called Envos, which then turned into Venue.
# Reviving a Groundbreaking System

## What are we trying to accomplish?

Our aim is to allow *Medley Interlisp* to "live again": usable on modern systems, sufficient to allow someone to develop some code and experience what it was like to use this groundbreaking system. You could think of this as a kind of "*vintage software*" project, to try to capture the sense of fluidity in the development cycle.

We hope to provide a platform for demonstration of early experiments of hypertext (Notecards), Desktop management (Rooms), Object-oriented programming (LOOPS), as well as Interlisp itself.

## What are our challenges?

Since we aim to revive Medley Interlisp to support not just a demo or test drive, but actual use as a development and learning tool, we need to overcome a number of compatibility problems with current systems and interfaces.
Our aim is to allow Medley to "live again": to be useable enough on modern systema that someone could develop some code and experience what it was like to use this groundbreaking system. You could think of this as a kind of "*vintage software*" project, to try to capture the sense of fluidity in the development cycle.

We also want to restore and present earlier versions of Interlisp, for the student of computer history. For more information go to [Interlisp and Software Preservation Network](https://www.softwarepreservationnetwork.org/Interlisp/).
We also hope to provide a platform for revival of systems developed using Interlisp., including 1980's work in hypertext (Notecards), desktop management (Rooms), and object-oriented programming (LOOPS).

## What have we done so far?
The lessons from the Interlisp interactive environment is likely more relevant in today's "devops" environment -- managing large networks of independent microservices, with no single serialization of the components quite comprehensible. Development in this model has been called "repl-driven development": you are working in the 'live' environment (or a copy) making changes without a separate, lengthy edit-compile-load-restart.

We have done a lot of cleanup and adaptation to make Interlisp Medley usable again in the modern world. Among other developments, you can now run Medley Interlisp on many OS and hardware configurations, or in the cloud, using a web browser.
## What are our challenges?

We've also been working on integration of the Interlisp style development with git and GitHub, Docker and other modern components.
"Reviving" old software requires some judgment of tradeoffs. There are often disagreements. Backward compatibility, fixing what seems to be a bug might cause other problems. For more on the work we're doing, see [Reviving Medley](reviving) and [Status](status).

<div class="mx-auto">
<a class="btn btn-lg btn-danger mr-3 mb-4" href="">
How do I access and use Medley?<i class="fas fa-arrow-alt-circle-right ml-2"></i>
</a>
</div>
We are trying to address this conflict by also making older versions of Interlisp available. There is an emulator for the Xerox 1108 (Dandelion) D-machine that will run the old software unchanged, it is slow and cumbersome; not something you would want to use for day-to-day work.

## Who is involved?

We are some of the original developers and users of the system 30 years ago, joined by newcomers interested in software history and preservation, along with members of the Lisp community. We work with [organizational partners](partners). And with you!
We are [some of the original developers and users of Interlisp](/project/credits) 30 years ago, joined by newcomers interested in software history and preservation, along with members of the Lisp community. We work with [organizational partners](partners). And with you!

<div class="mx-auto">
<a class="btn btn-lg btn-danger mr-3 mb-4" href="">
How do I get involved?<i class="fas fa-arrow-alt-circle-right ml-2"></i>
</a>
</a>
</div>

## Check out this presentation for more information
## Why?

People have [different stories](stories) for why they are interested.


A presentation from the 2020 Remote Chaos Experience conference highlights some of the interesting aspects of Interlisp.

Expand Down
64 changes: 0 additions & 64 deletions content/en/project/news/_index.md

This file was deleted.

70 changes: 70 additions & 0 deletions content/en/project/reviving.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
Title: Reviving Medley
weight: 80
type: docs
---
# Choices and Challenges

The main work of the Medley Interlisp Project is managed through GitHub.
This outlines some of the areas of work.

## A Work in Progress

We started with the most recent working files from Venue sources. This was not a finished and tested release, but rather a work in progress, nearly complete, labeled Medley 3.5. (The last release by Venue was called Medley 2.01.)

Among other improvements, Medley 3.5 increased the address space by a factor of 16. But the changes to the address space affects some highly optimized code which took advantage of short-cuts.

## Common Lisp and Interlisp file manager

While Medley 3.5 has a Common Lisp implementation, it is compatible with the Common Lisp of its time -- the first edition of Common Lisp the Language (aka CLtL1). There are files that purport to implement CLtL2, but they have not yet been merged.

In addition, the integration of Common Lisp and Interlisp is extensive, there are still some rough edges -- along the way of integrating the two, the result is not quite seamless.

While Interlisp and Medley implement international character processing and hardcopy through use of 16-bit characters, the character coding system used is XCCS (the Xerox Character Code Standard).

### CPU and operating system
* originally: 32 bit systems, big endian
* medley 3.5: 32 bit little endian
* now: 64 bit data paths, little endian

Changing from a 32-bit to 64-bit CPU was addressed carefully by upgrading the code in the emulator from "K&R" C to modern C standard.

### File systems
* originally: case insensitive, versioned file system.
* now: varied case sensitivity

More subtlely, the collaboration workflow has changed. The assumption for many at PARC was to have large file servers that everyone in a team would share, develop new versions, and then merge in by copying files to the file server.

In a Git-based workflow, the version numbers are mainly meaningless.

### Mouse
* originally: three button mouse
* now: two, one, or touchpad cursor movement; scroll wheel

Scroll wheel implementation, middle button menu commands are awkward.

### Keyboard
* Originally: limited number of keyboards; every app did decoding
* now: impossibly many keyboards: users want uniform (and familiar)

We have yet to gain mastery over the complex way that Medley handles the keyboard.

### Character encoding
* originally: XCCS (Xerox Character Code Standard)
* Now: Unicode

### Display
* originally: 768x808 one bit per pixel
* now: larger, color displays

Color support seems like it might have been a Medley feature that was taken out, for reasons that are unclear. Running on a large 4K display at full-screen isn't possible. We have yet to integrate modern fonts.

### Available compilers
* Originally: "K&R" book of standard C
* now: gcc, cmake and Posix standards

### Version Management
* Originally: versioned file system
* now: path names via "pseudo hosts"; GITFNS, structure comparison


12 changes: 10 additions & 2 deletions content/en/project/status/_index.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,23 @@
---
title: Status Reports
title: News and Status Reports
type: docs
weight: 50
aliases:
- /hugo/news/
- /medley/project/news/
- /project/news
---
# 2023 Annual Report (in preparation)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try ## to keep the heading consistent with others.


Sneak Peek: We are working on our [2023 Medley Interlisp Annual Report](https://docs.google.com/document/d/1yL1WeYvgu5JstWyjD3fWl1mDZv8kIr_U3_1onSWvUko/edit?usp=sharing). Still a work in progress -- don't distribute until we announce it ready.


## Annual Reports

The Medley team has produced annual reports documenting their major achievements.

- [2021 Annual Report](/project/status/2021medleyannualreport)
- [2022 Annual Report](/project/status/2022medleyannualreport)
- [2021 Annual Report](/project/status/2021medleyannualreport)

## March 2023 Bay Area Lisp Meeting

Expand Down
1 change: 1 addition & 0 deletions content/en/software/using-medley/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ type: docs
aliases:
- /medley/using/docs/medley/orientation/
- /docs/
- /doc/info/Using
- /hugo/documentation
- /using-medley/
- /medley/using/
Expand Down