diff list.rhope @ 101:f4fc0a98088a

Fixed some bugs that were preventing compiled compiler from working correctly. Need to address memory usage
author Mike Pavone <pavone@retrodev.com>
date Mon, 09 Aug 2010 23:53:20 -0400
parents f51c4c17457c
children 85f8012b6938 147dfc703161
line wrap: on
line diff
--- a/list.rhope	Mon Aug 09 02:03:57 2010 -0400
+++ b/list.rhope	Mon Aug 09 23:53:20 2010 -0400
@@ -224,7 +224,8 @@
 	{
 		out <- [list]Set[index, val]
 	}{
-		out,didn't set <- [[list]Right >>]_Right Set[[index]-[[list]Right Offset >>], val]
+		,didn't set <- [[list]Right >>]_Right Set[[index]-[[list]Right Offset >>], val]
+		{ out <- [list]Right <<[~] }
 	}
 }
 
@@ -352,4 +353,37 @@
 	}
 }
 
+_Check Present[check in,val,index:out]
+{
+	[check in]Index[index]
+	{
+		If[[~]=[val]]
+		{ out <- No }
+		{ out <- Yes }
+	}{ 
+		out <- Yes
+	}
+}
 
+_=List[a,b:out]
+{
+	,out <- If[[[a]Length]=[[b]Length]]
+	{
+		[a]Find[_Check Present[b,?]]
+		{
+			out <- No
+		}{
+			out <- Yes
+		}
+	}
+}
+
+=@List Leaf[a,b:out]
+{
+	out <- _=List[a,b]
+}
+
+=@List[a,b:out]
+{
+	out <- _=List[a,b]
+}