Skip to content

weepy/kaffeine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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