All Yesterday's Tomorrows: The report on, and of, Project Arxana concerning word processing, electronic publishing, hypertext, etc.

Arxana is a free/open hypertext system written in Emacs Lisp, with Common Lisp extensions.

By Joseph Corneli and Raymond S. Puzio

FOOL

The idea is to refactor pieces of information into documents in a “holographic” fashion. This addresses the idea that a document is made up of paragraphs, a paragraph is made up of sentences, sentences are made up of words, and words are made up of letters -- but also that the world is not as simple and hierarchical as this picture might make you think.




Over the years, we've built several prototypes and spin-offs, ranging from a simple ipod-like list browser, to a representation language for mathematics that envisioned definitions and theorems as lists of assertions and instantiations.

MAGICIAN



HIGH-PRIESTESS

Currently the defining features of an Arxana implementation are: (1) low-level functions that allow you to create a network of texts; (2) a browser to navigate the graph; (3) functions that will assemble documents out of the graph.




Accessing bits and pieces in different ways should be possible with multiple backends (e.g. database, web, memory).

EMPRESS



EMPEROR

Frontend features rely on Emacs text properties, and support the ability to edit multiple nodes at one time, and have the changes routed back into the backend properly.




We're planning middle-end features that will be associated not just with assembling texts on the fly, but doing additional processing, like proof checking.

HIEROPHANT



LOVERS

What can we do to interact with objects once they've been properly parsed? There will be some interesting experiments in the future, connecting Arxana and PlanetMath, which will be particularly nice now that the latter has been re-built using LaTeXML.




As interesting as the mathematics applications are, the proper vehicle for this system is literate programming, or even better, literary programming in Lisp. Why Lisp? is a question that has been asked and answered many times.

CHARIOT



STRENGTH

In sum, pretty much every object in this system is annotatable. This is Arxana's biggest strength, which, as is well known, often represents the greatest weakness. In the first place, making this statement precise has been tricky.




How do we intend to connect with other developers? We already have connections to KWARC, and have presented work in progress several times at LISP NYC.

HERMIT



WHEEL-OF-FORTUNE

At present, real-time interactions like Etherpad and ShareJS are popular. It would be great to be able to integrate these things into the system. One of us build a proof-of-concept (i.e. not entirely functional) Emacs Etherpad client called Linepad. Hopefully a real client will follow before forever.




Linking is how scholia are attached to other articles; the collection of all articles is “the commons”; and the rules for interacting with this collection defines the commons's regulatory system.

JUSTICE



HANGED-MAN

The 2009 prototype connected Emacs to Common Lisp via Slime, and Common Lisp to PostgreSQL via CLSQL. CLSQL also talks directly to the Sphinx search engine, which we use for text-based search. Once all of these things are installed and working together, you should be able to begin to use Arxana.




The reader will perhaps have noticed the similarities and references to the work and ideas of Ted Nelson. We want to be clear that the system presented here isn't an implementation of the Xanadu™ idea, per se, although it provides some of the features one would expect from a “Xanadu™ implementation.”

DEATH



TEMPERANCE

We would have also done well to pay more attention to the philosophical foundations of hypertext from the very start. Wittgenstein remarked ironically: “It should be possible to decide a priori whether, for example, I can get into a situation in which I need to symbolize with a sign of a 27-termed relation.” (Tractatus 5.5541)




How do we deal with content that isn't authored in Arxana? -- Especially if it is locked up behind non-free protocols?

DEVIL



TOWER

Looking back over the history of the project, another key point of reference is Dirk Gently's Holistic Detective Agency. Perhaps you remember that the pseudo-protagonist, Richard MacDuff, got into programming when he was working on creating a text editor to edit his English papers with.




Assembling a document from various disparate sources in the database is reminiscent of the way p2p filesharing works.

STAR



MOON

There was probably a non-trivial chance of going crazy when working on this system. We created a lot of obscure documents on AsteroidMeta if you're interested in the details.




If you put together all of the different things that we have here, you might get something like the Hyperreal Dictionary of Mathematics that we've talked about for years. If we get the real-time co-editing system set up, with some nice co-presence markers and use this system to build a real-time editable math MUD, that would be pretty practical even without the Artificial Intelligence part.

SUN



JUDGEMENT

Ted Nelson's “Literary Machines” and Marvin Minsky's “Society of Mind” are important inspirations. Alfred Korzybski's “Science and Sanity” and Gilles Deleuze's “The Logic of Sense” provided some grounding and encouragement early on. LaTeX and GNU Emacs have been useful not just in prototyping this system, but also as exemplary projects in the genre. John McCarthy's Elephant 2000 was an inspiring thing to look at and think about, and of course Lisp has been a vital ingredient.

On the formal side, our approach has been informed by various concepts from the foundations of mathematics such as Quine's distinction of use versus mention, Tarski's consequence operator approach to logical theories, Lesniewski's mereology, Makarov's D-logic, Grothendieck's categorical geometry and Lawvere's categorical logic. One of our objectives is to bring some of these ideas down to earth from their lofty perch atop the tower of mathematical abstraction and embody them in computer code which can be applied to practical problems.




In short, Hello World! This document is readable and editable within Arxana (... LIES... ), as is the system itself. We've got code on repo.or.cz/w/arxana.git, and there's even an arxana-talk mailing list, if you want to get in touch with us directly.

WORLD




Arxana's source code is available under the terms of the Affero GNU GPL 3.0.                                                                                    

Made with LISP Made with GNU Emacs