Skip to content

A minimum implementation of ChickenClisp in TypeScript

Notifications You must be signed in to change notification settings

alphaKAI/ChickenClisp_ts

Repository files navigation

Orelang_TS

A minimal implementation of Orelang in TypeScript

What's Orelang?

Orelang is simple and minimal programming language declared at the articleプログラミング言語を作る。1時間で

Features

This is an implementation of Orelang and provides more functions

  • if/cond expression
  • compare functions: >,>=,<,<=
  • logics : and(&&), or(||), not(!)
  • function definition
  • Function/Operator is first-class object
  • Lambda Expression (lambda keyword)
  • Closure
  • List support(and utilities like car, cdr)

This language aims an original scheme like lisp.

Specification of Orelang

This is not an original specification original is can be found at the article.

Grammer

Orelang provide only one grammer.

Expr := (operator args1 args2...) <- this is CallOperator
Expr := value <- this is ImmediateValue

This looks like lisp.

Implementation

Original implementation of Orelang in Java uses JSON and JSONIC for Syntax Analysis.
You can write like Lisp(S-Expression) with trainspiler.
Orelang_TS provides a transpiler which converts S-Expression into internal expression of Orelang_TS(JSON Array).

Installation

Requirements

  • tsc(1.8.7 or later)
  • typings(1.4.0) <- install by npm install -g typings
  • date-utils <- install by npm install date-utils

Commands

$ git clone https://github.com/alphaKAI/Orelang_TS
$ cd Orelang_TS
$ typings install dt~node --global
$ tsc app.ts

app.ts includes some sample code.

License

Orelang_TS is released under the MIT License.
Please see LICENSE file for details.

Copyright (C) 2016 Akihiro Shoji

About

A minimum implementation of ChickenClisp in TypeScript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published