aboutsummaryrefslogtreecommitdiff
path: root/js/core.js
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-16 23:57:50 -0500
committerJoel Martin <github@martintribe.org>2014-04-16 23:57:50 -0500
commit8cb5cda46cf3aef847ae3926dc53a5e5f87fe261 (patch)
tree13e5b2878f19ee24272ead8a92a9cb84b33ad0e5 /js/core.js
parenta05f7822b10ed4cdd61ed8384299a003baf1c1c6 (diff)
downloadmal-8cb5cda46cf3aef847ae3926dc53a5e5f87fe261.tar.gz
mal-8cb5cda46cf3aef847ae3926dc53a5e5f87fe261.zip
All: move some fns to core. Major cleanup.
- Don't import/require core until step4. - Define cond/or macros from step8
Diffstat (limited to 'js/core.js')
-rw-r--r--js/core.js10
1 files changed, 10 insertions, 0 deletions
diff --git a/js/core.js b/js/core.js
index 7addc49..d5c014f 100644
--- a/js/core.js
+++ b/js/core.js
@@ -4,6 +4,8 @@ if (typeof module === 'undefined') {
var exports = core;
} else {
var types = require('./types'),
+ readline = require('./node_readline'),
+ reader = require('./reader'),
printer = require('./printer');
}
@@ -36,6 +38,10 @@ function println() {
}));
}
+function slurp(f) {
+ return require('fs').readFileSync(f, 'utf-8');
+}
+
// Hash Map functions
function assoc(src_hm) {
@@ -144,10 +150,14 @@ var ns = {'type': types._obj_type,
'false?': types._false_Q,
'symbol': types._symbol,
'symbol?': types._symbol_Q,
+
'pr-str': pr_str,
'str': str,
'prn': prn,
'println': println,
+ 'readline': readline.readline,
+ 'read-string': reader.read_str,
+ 'slurp': slurp,
'<' : function(a,b){return a<b;},
'<=' : function(a,b){return a<=b;},
'>' : function(a,b){return a>b;},