JeffBezanson / phdthesis

phd thesis document source
162 stars 25 forks source link

LLVMs influence on language design #11

Open jakebolewski opened 9 years ago

jakebolewski commented 9 years ago

I was a bit surprised that LLVM was not referenced at all in the thesis. Surely it had a large impact (in both its capabilities and limitations) in constraining the design space of the language. I'm especially interested in what effect the LLVM infrastructure had in motivating the numeric hierarchy we have in Julia. Would it have been possible to do something similar in VM's such as the JVM or the CLR which restrict the number of concrete numeric types? It would be interesting the talk about the design trade offs that were made.

JeffBezanson commented 9 years ago

LLVM is important but I'm not sure it influenced the design. Julia was actually first implemented as an interpreter. It definitely influenced the later implementation however.

The CLR is more flexible than the JVM about numeric types. I don't think there is any good reason for the JVM's approach to this; it was just a premature optimization. Indeed this would have been more difficult to do with the JVM.