awwx.ws

arc-write0

http://awwx.ws/arc-write0.patch:

--- a/ac.scm	2009-12-07 12:59:05.000000000 -0500
+++ b/ac.scm	2009-12-07 13:02:21.000000000 -0500
@@ -949,7 +949,7 @@
     (unless explicit-flush (flush-output port)))
   'nil)
 
-(xdef write (lambda args (printwith write   args)))
+(defarc write (arc-write . args) (printwith write args))
 (xdef disp  (lambda args (printwith display args)))
 
 ; sread = scheme read. eventually replace by writing read
@@ -1157,7 +1157,7 @@
         (if (eqv? expr ':a)
             'done
             (let ((val (arc-eval expr)))
-              (write (ac-denil val))
+              (arc-write val)
               (namespace-set-variable-value! '_that val)
               (namespace-set-variable-value! '_thatexpr expr)
               (newline)

Modifies Arc’s REPL to use Arc’s write function, so that changes to write will appear in the REPL.

Get this hack

Using the hackinator:

$ hack \
    ycombinator.com/arc/arc3.1.tar \
    awwx.ws/defarc0.patch \
    awwx.ws/arc-write0.patch

License

This code may be redistributed and modified under the same terms as Arc itself.

Contact me

Twitter: awwx
Email: andrew.wilcox [at] gmail.com