Welcome to the VPRI Software Page
This site provides downloads of software and supporting materials in each of our areas of interest.
Teaching and learning powerful ideas
A portion of the work is covered by the Apache 2.0 license and remaining work is covered by The MIT License for Etoys. Please tell me that youre heading to keep this up! Its so excellent and so important. I cant wait to read extra from you. I just feel like you know so significantly and know how to make people listen to what you might have to say. This weblog is just also cool to become missed. Fantastic things, seriously. Please, PLEASE keep it up!
Copyright (c) 1996-2008 All Contributors to Squeak and Etoys Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Powerful ideas content and how to represent it
Fundamental new computing technologies
Instructions for downloading and building the FoNC 'Idst/COLA' platform are available here.
The FoNC system includes JOHN, a language for knowledge representation and goal-driven computing. The most recent version of this (likely more recent than the one in the FoNC distribution) and extensive documentation are available here.
Other prototypes and projects related to our work
Tamacola is a Scheme like self-hosting language running on Adobe Flash Player and Tamarin VM based on COLA project.
Tamacola source code: http://tinlizzie.org/~takashi/tamacola/tamacola-2010-09-21.tgz
Github repository: http://github.com/propella/tamacola
- Forall Workspace: http://tinlizzie.org/~takashi/tamacola/forall/Workspace.swf
- COLA Workspace: http://tinlizzie.org/~takashi/tamacola/ws/Workspace.html
Tamarin virtual machine
- For Mac OS X: http://tinlizzie.org/~takashi/tamacola/avmshell-mac.zip
- For Windows: http://tinlizzie.org/~takashi/tamacola/avmshell-win.zip
Text Field Spec for LObjects is an active essay that uses rules to specify word wrap of text and a reasonably complete text editor. Download a Squeak image and changes file from http://tinlizzie.org/lesserphic2/Text%20Field%20for%20LObject.zip To run this you will need a Squeak VM and the file SqueakV3.sources. Almost any Squeak VM will work. The rules are live inside the essay, and you can modify them. The goal is to have a readable essay that is also compact and runable metacode for a complex program.
Mico is an experimental interactive SVG viewer. It is available at http://github.com/damelang/mico.
LYSP is a tiny (maybe even pedagogical) Lisp interpreter. It serves as a test bed for a small, precise garbage collector that may be integrated into the COLA object system. It's also my 'hats off' to John McCarthy to celebrate the 50th anniversary of Lisp. It can be downloaded here.
ABCSX is a byte code assembler / dissembler for the Adobe ActionScript Virtual Machine 2. It is used as a back end of COLA/Flash compiler. It is available at http://github.com/propella/abcsx.
JOHN-COLA is an automated planner and constraint handler program written as a COLA library. Source and links to documentation are here: http://github.com/hesam/JOHN-COLA-Planner-Library.
Gezira is a 2D vector graphics renderer written in the Nile programming language. Source code is available at http://github.com/damelang/gezira
Gezira is a rendering library for anti-aliased 2D vector graphics focusing on succinctness. The Nile language and runtime were designed to express the rendering pipeline in a minimalistic way while being performant enough for interactive use. This project includes:
- an OMeta compiler in Squeak translates the source from Nile to C or Smalltalk
- a runtime written in C or Smalltalk allows execution
- the C runtime is usable from Smalltalk via a Squeak VM plugin
- one version of the C runtime uses multiple CPU cores for speed
- Smalltalk code can easily be debugged, C code is fast
Slides from a talk given about Nile and Gezira are available here. This talk, entitled "The Nile Programming Language: Declarative Stream Processing for Media Applications," was given at the Southern California Programming Languages and Systems Workshop Spring 2011.
Source Code: Gezira is released under the MIT license by VPRI. Since this is part of ongoing research, there is no consolidated release, yet.
- Gezira sources and bindings http://github.com/damelang/gezira
- Nile sources and runtimes http://github.com/damelang/nile
- OMeta translators, Smalltalk runtime, Squeak bindings http://tinlizzie.org/updates/exploratory/packages/
- Gezira-Nile: OMeta translator from Nile to C and Smalltalk, Smalltalk runtime
- Gezira-Kernels: Generated Smalltalk code
- GeziraBindings-Base: Squeak code to access plugin
- GeziraBindings-Plugin: Squeak VM module with bindings to the C runtime
- GeziraBindings-Base.MT: branch to access multi-threaded plugin
- GeziraBindingsMT-Plugin: multi-threaded plugin
Maru is a symbolic expression evaluator that can compile its own implementation language. Source code is available at Maru Source and Piumarta Temporary Location for Maru and there appears to be a branch with some improvements at Maru Fork and another fork if you want to play with it on OSX Maru OSX port
A repository of historical documents is being constructed at Historical Documents.
- Smtalltalk-72 INSTRUCTION MANUAL http://tinlizzie.org/~takashi/Smalltalk72_Manual.pdf
- The Early History Of Smalltalk http://tinlizzie.org/~takashi/SmalltalkHistoryHOPL.pdf http://gagne.homedns.org/%7etgagne/contrib/EarlyHistoryST.html
- Is “Software Engineering” an Oxymoron? http://tinlizzie.org/~takashi/IsSoftwareEngineeringAnOxymoron.pdf