How's this look?

   i a // i'th member of array value a
   a + i // pointer to i'th member of array object a

Works for array, varray,darray.

carray isn't an array (no length).

===========================
var x = (1,2,3,4);
var px = &x;

proc vtst[V,T with ArrayValue[T,V]] (x:T, s:string)
{
  println$ s;
  println$ 2 x;
  println$ x . 2;
  var i = 1;

  println$ i x;
  println$ x . i;
  println "";
}

vtst[int]$ x,"array";
vtst[int]$ px,"&array";
vtst[int]$ varray(1,2,3,4),"varray";
vtst[int]$ darray(1,2,3,4),"darray";

println$ "-------";

instance Str[&(int^4)] { 
  fun str (x:&(int^4)) => "(" + str x*.0 + "," + str x*.1 + "," + str x*.2  
+","+str x*.3+")"; 
}
var i = 2;
proc otst[V,T with ContiguousArrayObject[T,V], Str[T]] (x:T, v1:V, v2:V, 
s:string)
{
  println$ s;
  x + i <- v1;
  println$ x . i;
  x + (i - 1) <- v2;
  println x;
  println "";
}

otst[int]$ px,42, 53, "array";
otst[int]$ varray(1,2,3,4),42, 53, "varray";
otst[int]$ darray(1,2,3,4),42, 53, "darray";


--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to