_ __ __ __ _
| |/ /__ _ / _|/ _|___(_)_ _ ___
| ' </ _` | _| _/ -_) | ' \/ -_)
|_|\_\__,_|_| |_| \___|_|_||_\___|
- 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
-
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 ?