This is the source code for Oopsilon.
Oopsilon is an experimental programming system. For a fuller treatment of Oopsilon than provided in this readme, please see The Red Book.
Oopsilon is not yet ready for any serious use.
The name is an acronym; it stands for Object Oriented Programming System Incorporating the Latest Object Theory and Innovative Thought.
The language belongs to the Smalltalk family of programming languages, which is characterised by its total dynamic approach and pure object-oriented paradigm.
Several documents related to the design of Oopsilon are available:
- The Red Book: Oopsilon '17: The Language and its Implementation is the Oopsilon reference manual. Start here.
- Oopsilon Implementation Diaries: some reports on how Oopsilon is being implemented.
Oopsilon's source code, herein defined as that code found within this repository, is available for use under the terms of the copyfarleft 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 creativecommons.org.
A few frequently asked questions about Oopsilon:
On what platforms does Oopsilon work?
- FreeBSD, DragonFly BSD, NetBSD, OpenBSD, and OS X
- Solaris and OpenIndiana
- ArcaOS and OS/2
How is Oopsilon built?
- Oopsilon uses the CMake system.
- Building Oopsilon Distribution requires a modern C++ compiler.
- The build is tested with Microsoft C/C++ Optimising Compiler, with GNU G++, and with LLVM Clang.
- Support for Open Watcom is desirable but not yet available. If Open Watcom
adds C++11 ranged loops and the
autodeducing type, it should work.
- Other compilers may work but are untested. If you make it work, please consider contributing your efforts.
- The Fast Lexical Analyser FLEX is required for building. For Windows a copy of FLEX is included.
- On UNIX platforms, use Nightly to assist you in building the tree.
- On Windows, use WinBuild to assist in building the tree.