יום ראשון, 3.9.2017, 12:30
חדר 337, בניין טאוב למדעי המחשב
The traditional view of simulation is that processors are programmed
and then simulators execute the processors threads.
That is, the programmer thinks about processors when she creates the code.
What if we tell her to think about simulators and write program for the simulator rather
then the processors?
Obviously, as we show, any processors' program is a simulator program and vice-versa.
But thinking directly at simulators, results in, as we show, ``higher level constructs.''
Coding processors is akin to programming in Basic and programming simulators is akin to C++
(Not that I ever programmed in that language!, but so I am told).
Each mode may be more natural to different tasks.
We force simulators programming on few known task examples and show the beautiful natural code which emerges.
This is remindful of the Oulipo school of writing, of imposing artificial constraints in the hope that Art will emerge.