Placing the Underscore project into the Global Namespace.
Last updated 7 years ago by howardabrams .
BSD · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install coughy 
SYNC missed versions from official npm registry.

Why Coughy? Well, CoffeeScript gives JavaScript a much more palatable syntax. Of course, each of your projects include the lovely [[][Underscore]] library, however, pre-pending =_.= makes your code look crummy.

Coughy is <ahem> quite wrong in that it places the Underscore library into the global name space. /WHAT!?/ Yes. Just look at this beautiful code:

#+BEGIN_SRC coffee

Sum the squares that are less than 25... right, it is 30.

reduce( map( range(5), (x) -> x * x ), (total, cur) -> total + cur ) #+END_SRC

Why do this? This certainly isn't for everyone, or every project, but for working on [[][Project Euler]], or teaching programming concepts, this seems like <cough> an acceptable solution.

** Installation

As usual, you can take advantage of this project by adding this to your normal Node-related project:

#+BEGIN_SRC sh npm install coughy #+END_SRC

Now, you can create scripts that use those functions directly:

#+BEGIN_SRC js require('coughy'); #+END_SRC

Note: You do not need to assign the results of the coughy module *because <ahem>, it is already <cough> placed in the global namespace.

** REPL Sweetness

By using the [[][Nesh project]], we can make pre-load /coughy/ in order to make a better REPL:

#+BEGIN_SRC sh npm install -g nesh #+END_SRC

Then, create a Shell function like this:

#+BEGIN_SRC sh nesh --lang coffee --eval 'node_modules/coughy/coughy.js' #+END_SRC

Where =coughy.js= needs to be the filename to the magic <ahem> script that provides this pleasing abomination.

** Futures

Think of this... An even more functional approach to development is with something like the immutable data structures available from [[][Mori]] ... However, since Mori's functions overlap with Underscore (but seem to be more general), I may just swap it.

Current Tags

  • 0.0.1                                ...           latest (7 years ago)

1 Versions

  • 0.0.1                                ...           7 years ago
Maintainers (1)
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 1
Dependencies (3)
Dev Dependencies (1)
Dependents (2)

Copyright 2014 - 2016 © |