awwx.ws

scheme-values

Allow Scheme values to pass through the Arc compiler

--- a/ac.scm	2009-11-01 14:02:06.000000000 -0500
+++ b/ac.scm	2009-11-01 14:02:42.000000000 -0500
@@ -34,7 +34,7 @@
          (ac (list 'no (cons (cadar s) (cdr s))) env))
         ((eq? (xcar (xcar s)) 'andf) (ac-andf s env))
         ((pair? s) (ac-call (car s) (cdr s) env))
-        (#t (err "Bad object in expression" s))))
+        (#t s)))
 
 (define atstrings #f)
 

This patch allows MzScheme values to pass through the Arc compiler, which is useful when implementing MzScheme extensions to Arc in Arc (instead of having to write the entire extension in MzScheme).

Without this patch:

arc> #"abc"
Bad object in expression #"abc"

With this patch:

arc> #"abc"
#"abc"

Get this hack

Download scheme-values0.patch, or use the hackinator:

$ hack \
   ycombinator.com/arc/arc3.1.tar \
   awwx.ws/scheme-values0.patch

unLicense

This patch is in the public domain. The combination of this patch and Arc may be redistributed or modified under the same terms as Arc itself.

Contact me

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