<div>I'd reply to your questions that yes Sebastian Villemot and Elliot Saba are working on the Debian packaging (last weekend there was a big commit that reorganized the files to facilitate this) and Jeff has announced comprehensions on distributed arrays, although I haven't tried using it yet.</div>
<div><br></div><div>However, the list administrator has told me not to discuss Julia on this list so I won't :-)</div><div><br></div>On Mon, Nov 19, 2012 at 10:54 AM, Dirk Eddelbuettel <span dir="ltr"><<a href="mailto:edd@debian.org" target="_blank">edd@debian.org</a>></span> wrote:<br>
<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><br>
On 19 November 2012 at 10:47, Douglas Bates wrote:<br>
| Sigh.  Speaking as one of the "Julia guys" I should point out two things (not<br>
| that they will change Dirk's "cold, dead hands" attitude towards Julia :-)<br>
<br>
</div>No, just "lazy apt-get-able awaiting" hands.<br>
<div class="im"><br>
| 1. Comprehensions provide what I feel is a clean syntax for sugar-like<br>
| operations in Julia<br>
|<br>
| 2. A problem with vectorization is the issue of multiple loops, hence the<br>
| number of attempts at implementing delayed evaluation in compiled code (Eigen)<br>
| and in add-on's to R.<br>
|<br>
| A translation of Hadley's vacc3 into Julia could be<br>
|<br>
| function vacc3a(age::Float64, female::Bool, ily::Float64){<br>
|   p = 0.25 + 0.3 * 1 / (1 - exp(0.04 * age)) + 0.1 * ily<br>
|   p *= female ? 1.25 : 0.75<br>
|   min(max(0., p), 1.)<br>
| }<br>
|<br>
| out = [vacc3a(age[i], female[i], ily[i]) for i in 1:length(age)]<br>
|<br>
| The comprehension collapses the<br>
|  1. Determine the length of the output vector<br>
|  2. Allocate the result<br>
|  3. Loop over indices populating the result<br>
|  4. Return the result<br>
|<br>
| to a single syntactic element that, in my opinion, is quite readable.<br>
<br>
</div>Does that already give you parallel processing?  That is the one element<br>
missing here and I was thinking that in order completely push Hadley over the<br>
C++ cliff I should introduce him to OpenMP :)<br>
<br>
The next real trick will be to get these things done transparently on all cores.<br>
<div class="HOEnZb"><div class="h5"><br>
Dirk<br>
<br>
--<br>
Dirk Eddelbuettel | <a href="mailto:edd@debian.org">edd@debian.org</a> | <a href="http://dirk.eddelbuettel.com" target="_blank">http://dirk.eddelbuettel.com</a><br>
</div></div></blockquote></div><br></div>