@Jameson
Apparently IBM's Liquid Metal project (LIME programming language) is already taking this approach.
It seems LIME can compile into heterogeneous hardware with both CPUs, GPUs and FPGAs and customize the hardware according to the application that is running, executing tasks in the most efficient hardware for each kind of task. Things would be transparent for the programmer.
From their website: "Our long-term goal is to 'JIT the hardware' to dynamically select methods for compilation and synthesis to hardware, potentially taking advantage of dynamic information in the same way that multi-level JIT compilers do today for software."
IBM's Liquid Metal project.For those not familiar with FPGAs/ASICs here is a very good article that discusses the benefits and related technologies, like High-Level synthesis, which turns high-level language code into integrated circuits. It discusses Liquid Metal and shares thoughts about the future of programming languages and the hardware architecture they'll run on:
http://queue.acm.org/detail.cfm?id=2443836And an open source project for hardware construction from code (Chisel):
https://chisel.eecs.berkeley.edu/Julia seems perfect for this level of dynamism. I'd rather see Julia's simplicity, clean and flexible style taking advantage of pioneering in this field to help it become a standard rather than a not so optimal adaptation of any legacy language just for the sake of compatibility.