Siren =====
Last updated 5 years ago by robotlolita .
Original npm · Tarball · package.json
$ cnpm install @robotlolita/siren 
SYNC missed versions from official npm registry.


Siren is an experimental prototype-based object-oriented language. It differs from existing languages in that it uses a single delegation slot for sharing (and cheap instantiation), but allows controlled lexical extensibility.

Getting started

Install the Node.js 4.0.0+ (you'll need WeakMaps and Symbols), Make, and Git. After that clone this repository, and run make compile. This will generate a bin/siren compiler/interpreter.

$ git clone https://github.com/robotlolita/siren.git
$ cd siren
$ npm install
$ make all
$ bin/siren

You can run individual files with the same binary. There are examples in the examples/ folder:

$ bin/siren examples/trivial/hello-world.siren

You can compile things to plain JavaScript using the --compile flag, but you'll need to include the proper runtime files and have the global Siren name point to the runtime root object in order to run those files:

$ bin/siren --compile examples/trivial/hello-world.siren > hw.js
$ iojs -e "global.Siren = require('./runtime/core'); require('./hw.js')"
Hello, world


  • Feel free to ask @robotlolita anything related to this project on Twitter.

  • Things will eventually be added to the Wiki, but also blogged about on http://robotlolita.me/

Current Tags

  • 0.4.1                                ...           latest (5 years ago)

2 Versions

  • 0.4.1                                ...           5 years ago
  • 0.4.0                                ...           5 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (18)
Dev Dependencies (6)
Dependents (0)

Copyright 2014 - 2017 © taobao.org |