r7rs.js - R7RS compliant Scheme implementation in JavaScript (Work in Progress)

  •        47

R7RS compliant Scheme implementation in JavaScript (Work in Progress)

http://github.com/qiao/r7rs.js

Dependencies:

optimist : 0.6.0

Tags
Implementation
License
Platform

   




Related Projects

biwascheme - Scheme interpreter written in JavaScript

  •    Javascript

BiwaScheme is a Scheme interpreter written in JavaScript. Works with web browsers (including mobile devices) and Node.js.

owl-lisp - A functional Scheme for world domination.

  •    Scheme

Owl Lisp is a functional dialect of the Scheme programming language. It is mainly based on the applicative subset of the R7RS standard. You should have make and gcc or clang installed.

picrin - lightweight scheme interpreter

  •    Scheme

Picrin is a lightweight R7RS scheme implementation written in pure C89. It contains a reasonably fast VM, an improved hygienic macro system, useful contribution libraries, and simple but powerful C interface. Currently picrin is hosted on Github. You can freely send a bug report or pull-request, and fork the repository.

heist - Scheme in as little Ruby and as much Scheme as possible

  •    Ruby

Heist is a Scheme interpreter written in Ruby. It provides an executable for running Scheme code directly, and also allows the interpreter to be easily embedded in, and extended using, Ruby applications. It nominally targets R5RS, though is likely to be more liberal than other implementations. Scheme is a dialect of Lisp, one of the oldest programming languages still in use today. Lisp was the first language to implement conditionals, first class functions (lambdas), closures and recursion. Some Lisp features, such as closures and macros, have yet to penetrate mainstream languages and it has been observed that mainstream languages are slowly converging on the feature set of Lisp.

MiniJLisp: mini Lisp interpreter in Java

  •    Java

MiniJLisp is a minimal implementation of an interpreter for a Lisp style language in Java. MiniJLisp is designed to be used as an embedded extension language in Java programs.


micro-lisp - 🎄A very small Lisp programming language 😀that used to be under 200 lines of C🎄

  •    C

Objective: implement a small Lisp/Scheme language in as little C code as possible. The interpreter supports lambda, e.g.

Yarr

  •    

Yarr is a Lisp-based scripting language for .NET with many features borrowed from Common Lisp. It has numerous extensibility features, and can serve as the basis for domain-specific languages. Includes sample console and WPF applications showing how to host the Yarr runtime.

Subs Scheme Lisp Interpreter

  •    C++

Subs is a Scheme Lisp interpreter written in C++. It is currently incomplete and is primarily intended to help the author understand Scheme and programming language design. It may be efficient since many structures are implemented in native code.

lisp-koans - Common Lisp Koans is a language learning exercise in the same vein as the ruby koans, python koans and others

  •    Common

From a terminal, execute your lisp interpreter on the file 'contemplate.lsp' e.g.In this case, the test is incomplete, and the student should fill in the blank (____) with appropriate lisp code to make the assert pass.

Scheme in One Day (SIOD)

  •    C

Scheme in One Day (SIOD) the small scheme interpreter with the conservative garbage collector. Even though this is an interpreter it comes with a compiler that will convert Scheme language source files into windows EXE files using a classic bootstrap trampoline technique. Thi...

Embeddable Common-Lisp

  •    

ECL (Embeddable Common-Lisp) is an interpreter of the Common-Lisp language as described in the X3J13 Ansi specification, featuring CLOS (Common-Lisp Object System), conditions, loops, etc, plus a translator to C, which can produce standalone executab

GNU Emacs

  •    C

GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.

elvm - EsoLangVM Compiler Infrastructure

  •    C

ELVM is similar to LLVM but dedicated to Esoteric Languages. This project consists of two components - frontend and backend. Currently, the only frontend we have is a modified version of 8cc. The modified 8cc translates C code to an internal representation format called ELVM IR (EIR). Unlike LLVM bitcode, EIR is designed to be extremely simple, so there's more chance we can write a translator from EIR to an esoteric language. The above list contains languages which are known to be difficult to program in, but with ELVM, you can create programs in such languages. You can easily create Brainfuck programs by writing C code for example. One of interesting testcases ELVM has is a tiny Lisp interpreter. The all above language backends are passing the test, which means you can run Lisp on the above languages.

Ruby - Programming Language

  •    C

A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write. The syntax inspired by Perl with Smalltalk-like features. It was also influenced by Eiffel and Lisp. It is a scripting language that is more powerful than Perl, and more object-oriented than Python.

gherkin - a functional programming language and interpreter written in GNU Bash 4

  •    Shell

This project is dormant. I have not worked on it in years, and am unlikely to continue work on it anytime soon. I encourage you to check out "mal" -- "Make a Lisp" -- by Joel Martin, a project inspired by this one, that includes implementations in dozens of languages, including Bash: https://github.com/kanaka/mal. While it's missing garbage collection, mal's Bash Lisp is incredibly clean and easy to hack on. gherkin is a dialect of Lisp, and like other Lisps such as Clojure and [Scheme](http://en.wikipedia.org/wiki/Scheme_(programming_language) it features homoiconicity, first-class functions, and primitive functions for operating on a variety of data types such as strings, integers, symbols, and lists. As a citizen of *nix and the shell environment, it also provides *nix and shell interoperation facilities.

tiny-js - Automatically exported from code.google.com/p/tiny-js

  •    C++

This project aims to be an extremely simple (~2000 line) JavaScript interpreter, meant for inclusion in applications that require a simple, familiar script language that can be included with no dependencies other than normal C++ libraries. It currently consists of two source files: one containing the interpreter, another containing built-in functions such as String.substring. TinyJS is not designed to be fast or full-featured. However it is great for scripting simple behaviour, or loading & saving settings.

sibilant - Just another compile-to-js LISP-like language

  •    Javascript

sibilant.org includes an in-browser as-you-type sibilant compiler and tutorial, so you can get a sense of the language without leaving your browser. The most up to date documentation is at sibilant.org and docs.sibilant.org. Also, check out sibilant itself, which is written 100% in sibilant to get a sense of what's possible.

femtolisp - a lightweight, robust, scheme-like lisp implementation

  •    Scheme

This project began with an attempt to write the fastest lisp interpreter I could in under 1000 lines of C. It snowballed from there as I kept trying to see if I could add powerful features with minimal code. At the same time I assembled a library of some of my favorite C code (by myself and others) to use as a base for a standard library. This includes ios, a replacement for parts of C's stdio that adds more flexible features. ...it is fast, ranking among the fastest non-native-compiled Scheme implementations. It achieves this level of speed even though many primitives (e.g. filter and for-each) are written in the language instead of C. femtolisp uses a bytecode compiler and VM, with the compiler written in femtolisp. Bytecode is first-class, can be printed and read, and is "human readable" (the representation is a string of normal low-ASCII characters).

Diabolically Uncrashable Mud Builder

  •    Java

DUMB, the Diabolically Uncrashable Mud Builder, implements a lisp-like language interpreter in Java. This language is specialized to allow the most flexible MUD creation to date, and to allow 100% uptime, even during MUD development. NEW: SWING GUI

Shem - The compiler of the programming language Shem

  •    CoffeeScript

Shem is a new compiled-to-JS, statically typed, pure-by-default functional programming language. The semantics are based on Haskell but the language evaluates strictly in a similar way to PureScript. The syntax is S-expressions-based, allowing for a full-blown LISP-like macro system. Shem's prelude includes a full-featured, highly-polymorphic collections library backed by ImmutableJS. The language has been designed for the use within its custom built IDE, Golem available at http://shem.io/, inspired by Bret Victor.