Main repository - implementation of the dynamic programming environment Oopsilon
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Oopsilon logo

Windows Linux
Linux build status Windows build status

Oopsilon 05/2017 Platforms: Windows, FreeBSD, OS X, Linux


This is the Oopsilon QS/L tree. This is the source code to the Oopsilon compiler and the Foundation library.

Oopsilon is an experimental programming system. For a fuller treatment of Oopsilon than provided in this readme, please see The Red Book.


The name is an acronym; it stands for Object Oriented Programming System Incorporating the Latest Object Theory and Innovative Thought. Oopsilon is a critical programming environment: it has a negative character, that is to say, it attacks conventional paradigms of programming. At the same time it proposes the way things might develop to build a better computing.


The language belongs to the Smalltalk family of programming languages, which is characterised by its total dynamic approach, pure object-oriented paradigm, and a measure of similarity to the functional languages (the language feature Blocks is essentially form of lambda function; blocks are used extensively.)

Several documents related to the design of Oopsilon are available:


Oopsilon takes as its starting point the idea that nothing can be taken for granted: we must attempt to negate everything that is given. The meaning of critique is shown in such works as Kant's Critique of Pure Reason or Adorno's 'Negative Dialectics.' Not coincidentally, these thinkers enumerated above are great philosophical influences on Oopsilon.


Oopsilon's source code, herein defined as that code found within this repository, is available for use under the terms of the Peer Production Licence; please see CPYRIGHT for further information.

Alternatively, Oopsilon's source code may be used under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike (Scotland) Licence 2.5; please find these terms in full at


A few frequently asked questions about Oopsilon:

On what platforms does Oopsilon work?

  • FreeBSD, DragonFly BSD, NetBSD, OpenBSD, OS X
  • GNU/Linux, Musl/BusyBox/Linux
  • Solaris, OpenIndiana
  • Windows, ArcaOS, OS/2

How is Oopsilon built?

  • Oopsilon leverages the CMake build system for building the C/FL consolidation.
  • Building the QS/L Distribution requires a modern C++ compiler.
    • The build is tested with Microsoft C/C++ Optimising Compiler 19.0 (MS Visual Studio 2017,) with GNU G++ 5.4.0, and with Clang 3.8.0.
    • Other compilers may work but are untested. If you make it work, please consider contributing your efforts.
    • Support for Open Watcom is desirable but not yet available. If Open Watcom adds C++11 ranged loops and the auto deducing type, it should work.
  • The Fast Lexical Analyser FLEX is required for building.
  • The QS/L Distribution is built with Nightly, a build script which prepares the build and then invokes CMake to build the consolidation. It is documented in Nightly.