diff backendutils.rhope @ 75:0083b2f7b3c7

Partially working implementation of List. Modified build scripts to allow use of other compilers. Fixed some bugs involving method implementations on different types returning different numbers of outputs. Added Fold to the 'builtins' in the comipler.
author Mike Pavone <pavone@retrodev.com>
date Tue, 06 Jul 2010 07:52:59 -0400
parents a844c623c7df
children c25d75c2440b
line wrap: on
line diff
--- a/backendutils.rhope	Thu Jul 01 21:32:08 2010 -0400
+++ b/backendutils.rhope	Tue Jul 06 07:52:59 2010 -0400
@@ -1,7 +1,7 @@
 
 Escape Rhope Name NU[name:escaped]
 {
-	escaped <- [[[[[[[[[[[[[[[name]Replace["_","UN_"]
+	escaped <- [[[[[[[[[[[[[[[[[[[[name]Replace["_","UN_"]
 		]Replace["@","AT_"]
 		]Replace[" ","SP_"]
 		]Replace[":","CN_"]
@@ -15,7 +15,12 @@
 		]Replace["(","LP_"]
 		]Replace[")","RP_"]
 		]Replace["!","NT_"]
-		]Replace["=","EQ_"]
+		]Replace["=","EQ_"]
+		]Replace["'","PR_"]
+		]Replace["\"","DP_"]
+		]Replace["\t","TB_"]
+		]Replace[",", "CM_"]
+		]Replace[".", "PD_"]
 }
 
 Escape Rhope Name[name:escaped]
@@ -135,6 +140,26 @@
 	out <- op
 }
 
+Blueprint Check Result
+{
+	Output Num
+}
+
+Check Result[num:out]
+{
+	out <- [Build["Check Result"]]Output Num <<[num]
+}
+
+Make Op@Check Result[result,func:out]
+{
+	out <- [func]Checked Result Reference[[result]Output Num>>]
+}
+
+Strip Addref@Check Result[op:out]
+{
+	out <- op
+}
+
 Make Condition[op:out]
 {
 	If[[Type Of[op]]=["OrValue"]]