<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -13,29 +13,19 @@ function Arrow(f) {
     }
 }
 
-Arrow.named = function(name) {
-    return function() {
-        var arrow = Arrow.apply(this, arguments);
-        arrow.name = name;
-        return arrow;
-    }
-}
-
 Arrow.fromCPS = function(cpsFunction) {
     var arrow = new Arrow;
     arrow.cpsFunction = cpsFunction;
     return arrow;
 }
 
-Arrow.fromCPS.named = function(name) {
-    return function() {
-        var arrow = Arrow.fromCPS.apply(this, arguments);
-        arrow.name = name;
-        return arrow;
+Arrow.prototype.callCPS = function(x, k) {
+    try {
+        this.cpsFunction(x, k);
+    } catch (e) {
+        k(Arrow.Error(e));
     }
-};
-
-Arrow.prototype.name = 'unnamed';
+}
 
 Arrow.prototype.run = function(x) {
     var result;
@@ -45,14 +35,6 @@ Arrow.prototype.run = function(x) {
 
 Arrow.prototype.call = Arrow.prototype.run;
 
-Arrow.prototype.callCPS = function(x, k) {
-    try {
-        this.cpsFunction(x, k);
-    } catch (e) {
-        k(Arrow.Error(e));
-    }
-}
-
 Arrow.prototype.toString = function() {
     if (this.arrows) {
         return '(' + this.arrows.join(') ' + this.type + ' (') + ')';
@@ -224,7 +206,7 @@ Arrow.prototype.or = Arrow.prototype['&lt;+&gt;'];
  * Basic arrow generators {{{
  */
 Arrow.Const = function(x) {
-    return Arrow.named('const ' + x)(function() { return x });
+    return Arrow(function() { return x });
 }
 
 Arrow.Identity = Arrow(function(x) { return x });
@@ -241,6 +223,10 @@ Arrow.Stop = Arrow.fromCPS(function(x, k) { });
  */
 Arrow.Value = function() { };
 
+Arrow.Value.prototype.toString = function() {
+    return '[Arrow.Value ' + this.value + ']';
+}
+
 Arrow.Value.In = function(index, value) {
     if (!(this instanceof Arrow.Value.In)) {
         var constructor = Arrow.Value.In.constructors[index];
@@ -263,6 +249,10 @@ Arrow.Value.In = function(index, value) {
     this.value = value;
 }
 
+Arrow.Value.prototype.toString = function() {
+    return '[Arrow.Value.In(' + this.index + ') ' + this.value + ']';
+}
+
 Arrow.Value.In.constructors = [];
 
 Arrow.Value.In.prototype = new Arrow.Value;
@@ -274,10 +264,6 @@ Arrow.Value.In.prototype = new Arrow.Value;
  * Arrow.Error {{{
  */
 Arrow.Error = Arrow.Value.In(1);
-
-Arrow.Error.prototype.toString = function() {
-    return '[Arrow.Error ' + this.value + ']';
-}
 /*
  * }}}
  */
@@ -287,14 +273,14 @@ Arrow.Error.prototype.toString = function() {
  * TODO: Add Arrow.Async class
  */
 Arrow.Delay = function(msec) {
-    return Arrow.fromCPS.named('delay ' + msec + 'msec')(function(x, k) {
+    return Arrow.fromCPS(function(x, k) {
         this.setTimeoutID = setTimeout(function() { k(x) }, msec);
         this.cancel = function() { clearTimeout(this.setTimeoutID) };
     });
 }
 
 Arrow.Event = function(object, event) {
-    return Arrow.fromCPS.named('event ' + object + ' ' + event)(function(x, k) {
+    return Arrow.fromCPS(function(x, k) {
         var stop = false;
         var listener = function(e) {
             if (stop) return;
@@ -308,7 +294,7 @@ Arrow.Event = function(object, event) {
 
 // TODO: Parameters for method, query
 Arrow.XHR = function(url) {
-    return Arrow.fromCPS.named('xhr ' + url)(function(x, k) {
+    return Arrow.fromCPS(function(x, k) {
         var stop = false;
         try {
             var xhr = Arrow.Compat.newXHR();
@@ -336,7 +322,7 @@ Arrow.JSONP = function(url) {
     if (!('_count' in Arrow.JSONP))
         Arrow.JSONP._count = 0;
 
-    return Arrow.fromCPS.named('JSONP ' + url)(function(x, k) {
+    return Arrow.fromCPS(function(x, k) {
         Arrow.JSONP['callback' + Arrow.JSONP._count] = k;
         var script = document.createElement('script');
         script.src = url + (url.indexOf('?') != -1 ? '&amp;' : '?') + 'callback=Arrow.JSONP.callback' + Arrow.JSONP._count;</diff>
      <filename>Arrow.js</filename>
    </modified>
    <modified>
      <diff>@@ -126,7 +126,7 @@ function _clearElements() {
 var a1 = Arrow.Const(1);
 var a2 = Arrow.Const(2);
 var a3 = Arrow.Const(3);
-var aFail = Arrow.named('aFail')(function() { throw 'aFail exception not caught' });
+var aFail = Arrow(function() { throw 'aFail exception not caught' });
 var aPlus1 = Arrow(function(x) { return x + 1 });
 var aMul3  = Arrow(function(x) { return x * 3 });
 </diff>
      <filename>t.html</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>22ff041b288edb7d42b520f39eb297da21929a69</id>
    </parent>
  </parents>
  <author>
    <name>motemen</name>
    <email>motemen@gmail.com</email>
  </author>
  <url>http://github.com/motemen/arrow-js/commit/7c8366c53d9b7844e4c183f7cd0a0a4447079d43</url>
  <id>7c8366c53d9b7844e4c183f7cd0a0a4447079d43</id>
  <committed-date>2008-06-29T03:01:58-07:00</committed-date>
  <authored-date>2008-06-29T03:01:58-07:00</authored-date>
  <message>No Arrow.named.</message>
  <tree>945bcf3b9ba3f14b7a5cd1abe5571c798fbd681c</tree>
  <committer>
    <name>motemen</name>
    <email>motemen@gmail.com</email>
  </committer>
</commit>
