I just found time to actually read the links posted by the OP on Graydon 
Hoare's history of programming language development, culminating in Julia.

Oh I wish I could write like that! The guy is clearly a genius of immense 
proportions. 

I truly, truly wish that the computer algebra and number theoretic 
communities were engaging people like this and leveraging their insight and 
vision to the fullest.

Bill.

On Friday, 22 August 2014 01:19:22 UTC+2, Bill Hart wrote:
>
> Another thing that I think is terribly important is that the entire 
> technology stack, LLVM, all its libraries and packages, its console, the 
> IJulia web interface and Julia itself, all work out of the box on Windows 
> 64, natively, not as a Cygwin app (they use MinGW64/MSYS2 to build Julia).
>
> And I've personally verified this. After some initial troubles due to the 
> fact that flint.dll is not built correctly on Windows 64, Nemo works 
> perfectly on Windows and from the IJulia interface running on my local 
> Windows 64 machine.
>
> This doesn't solve any problems for Sage, as many mathematical libraries 
> still don't natively support Windows 64 despite it being a decade old. But 
> it is a significant feature of Julia (and of the Nemo project I am writing 
> with Julia).
>
> Bill.
>  
> On Friday, 22 August 2014 00:26:23 UTC+2, Bill Hart wrote:
>>
>>
>>
>> On Friday, 22 August 2014 00:08:20 UTC+2, Bill Hart wrote:
>>>
>>>
>>>
>>> My cursory look into Julia only poped out JIT stuff, not a real 
>>>> complier... 
>>>>
>>>
>>> Static compilation is coming to Julia. But not because it will speed 
>>> things up. It already has all the speed of an optimising compiler at the 
>>> console, as you type!
>>>
>>
>> I should qualify that. Technically, jit compilation and type inference 
>> begin at the function boundary in Julia. So stuff you type at the top level 
>> is not optimised. I think that is a mistake, as it's unnecessary. In the 
>> language I was working on (using LLVM) type inference and optimisation 
>> begin at the top level (which for me is a function). There is a small 
>> runtime hit with global variables, but that is all.
>>
>> In particular, in the language I was working on, loops at the top level 
>> are jit compiled. In Julia they are not. But it's almost irrelevant, except 
>> when doing timing experiments to see how fast Julia really goes. You might 
>> easily think to type a loop into the top level and time it and wonder what 
>> all the fuss is about. Put that loop inside a function and you'll soon see.
>>
>> julia> function sumit(n::Int)
>>           s = 0
>>           for i = 1:n
>>             s += i
>>           end
>>           return s
>>        end
>> sumit (generic function with 1 method)
>>
>> julia> @time sumit(1000000000)
>> elapsed time: 0.913325036 seconds (78060 bytes allocated)
>> 500000000500000000
>>
>> Bill.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to