Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

54 lines (38 sloc) 1.658 kb
Introduction
============
Circa is a programming language designed for live coding. Most programming languages
try to improve *what* you can express, with Circa we instead try to improve *how* you
create code.
Features
========
- Code can be modified at runtime
- State can be redefined at runtime, and is preserved across code changes
- Changes can be made by any external program that can modify text files
- Simple API for making code changes, enabling non-text methods for modifying code
- Supports a round trip where compiled code can be unparsed back to source text,
allowing runtime changes to be saved as text files.
- Supports plugins (which themselves can be recompiled and reloaded at runtime)
- Embeddable in a C/C++/Obj-C application
Implementation
==============
Some implementation details:
- Implemented in C++
- Interpreted execution. (some form of JIT is planned for the future)
- Compiled code is stored in a normalized, unoptimized format
- Static typing with a pervasive 'any' type. Supports simple type inferrence.
- Cross-platform, primary platform is OSX
Current status
==============
This project is currently alpha-level. Curious people, or people interested in
hacking along, are welcome to try it out. People who want to use it for serious
projects, or people who don't like bugs, are recommended to wait for a beta release.
Building
========
Refer to the BUILDING file.
Documentation
=============
Refer to the /docs folder.
License
=======
Unless otherwise specified, the contents of this project are freely available to the
public under the MIT licence. See the LICENSE file for more information.
Jump to Line
Something went wrong with that request. Please try again.