Skip to content

josef-jelinek/cofy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cofy - A Lisp compiler / interpreter running inside a web browser.
by Josef Jelinek
http://cofylang.org

[public domain]

The purpose of this project is to allow executing dynamically generated code
inside a web browser without security risks. For that purpose a small dialect of
Lisp is used.

There are three stages of the code:

 1. textual representation of the source in a string
 2. parsed recursive lisp data structures
 3. compiled functions ready for evaluation

A result of the evaluated functions is a Lisp data structure.
A data stucture can be converted to a string, processed by a Lisp or JavaScript
function, or compiled again as a Lisp code (metaprogramming).

Evaluation environment is capability-based. The evaluated code has access only
to features which are passed by the invoking code.


Source code:

lang/core.js       - the language compiler/interpreter

tools/test.js      - JS unit testing framework
tests/test-cofy.js - Cofy language unit tests
tests/test-test.js - unit testing framework unit tests

index.html         - introduction
interactive.html   - interactive code examples
integration.html   - description of using Cofy in web pages
language.html      - Cofy language reference
style.css          - common styles for *.html
img/*              - graphics

More information can be found at http://cofylang.org


Feat.js - Persistent Data Structures for JavaScript

This project also contains persistent sorted map and persistent vector source code independent of Cofy

About

JavaScript Lisp dialect / JavaScript persistent data structures

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published