On 11/14/2010 03:46 AM, Mason Kramer wrote: > I understand everything you've written except the following: > > On Nov 13, 2010, at 12:09 PM, Jonathan Worthington wrote: > >> Hi, >> ... >> >> my Int @x; >> >> Where we get an array of scalar containers, each of which is only allowed to >> contain an Int (strictly, something that Int.ACCEPTS(...) hands back true >> on). >> @x[0] = 1; >> @x[0] := 1; >> >> In the first, we look up the container in slot 0 or the array and assign a 1 >> into it. In the second, we bind a 1 directly into the slot. There's no >> container any more (so any future assignment attempts will fail, for >> example). >> >> ... >> >> Jonathan >> > > What's a 1? If it's not an Int, I don't know what it is. If it is an Int, I > don't understand how you could bind it into a packed array.
On IRC, Jonathan said that 1 is basically an Int, which is something like a boxed int. So whatever operation works removes the box, and puts the result in the variable. However I wonder how well that's going to work, since Int can store arbitrarily large integers, while int can't. What happens on overflow? Cheers, Moritz