1 // Node vs browser behavior
3 if (typeof module
!== 'undefined') {
4 var types
= require('./types');
5 // map output/print to console.log
6 printer
.println
= exports
.println = function () {
7 console
.log
.apply(console
, arguments
);
11 function _pr_str(obj
, print_readably
) {
12 if (typeof print_readably
=== 'undefined') { print_readably
= true; }
13 var _r
= print_readably
;
14 var ot
= types
._obj_type(obj
);
17 var ret
= obj
.map(function(e
) { return _pr_str(e
,_r
); });
18 return "(" + ret
.join(' ') + ")";
20 var ret
= obj
.map(function(e
) { return _pr_str(e
,_r
); });
21 return "[" + ret
.join(' ') + "]";
25 ret
.push(_pr_str(k
,_r
), _pr_str(obj
[k
],_r
));
27 return "{" + ret
.join(' ') + "}";
29 if (obj
[0] === '\u029e') {
30 return ':' + obj
.slice(1);
32 return '"' + obj
.replace(/\\/g
, "\\\\")
34 .replace(/\n/g, "\\n") + '"'; // string
39 return ':' + obj.slice(1);
43 return "(atom
" + _pr_str(obj.val,_r) + ")";
45 return obj.toString();
49 exports._pr_str = printer._pr_str = _pr_str;