_ __ __ __ _ | |/ /__ _ / _|/ _|___(_)_ _ ___ | ' </ _` | _| _/ -_) | ' \/ -_) |_|\_\__,_|_| |_| \___|_|_||_\___|
- Progressively enhance Javascript syntax: ensure vanilla Javascript still works as normal
- avoid nice-to-haves, concentrate on small useful feature set and pragmatism
- Hackable, modular, extendable and testable
- whitespace is not significant. Looks nice, but is painful to work with.
Example
Edge::add = (nick, name, complete) { @client.select 15 user = User.find! {id: nick} puzzle = Puzzle.find! {name: name} err, data = client.set! "u:#{user}:p:#{puzzle}" complete() }
READ MORE HERE ---> http://weepy.github.com/kaffeine <-----
also on IRC: #altjs
Tests
-
via Node
bin/expect
will run all testsbin/expect file_name
will a particular test e.g.bin/expect expectations/arrow
-
via Browser
- load browser/runner.html
-
Integration tests:
- node test/test_node.js
- knode test/test_knode.js
Building tests for the browser
bin/build
depends on brequire (http://github.com/weepy/brequire).
Install
npm install kaffeine
requires node >= 0.3.1
Use
Compile a script from the command line:
kaffeine -c /path/to/script.k
See kaffeine --help
for more
Run a kaffeine file directly
knode /path/to/script.k
require kaffeine files in scripts (in this case my_script.k):
require('kaffeine') require('my_script')
TODO
- need --- operator for delimiting bangs!
- nested for loops - is there a problem ?