On Reddit I have just found a thread about a paper that I didn't know: http://www.reddit.com/r/programming/comments/hs24h/programming_language_design_and_analysis/
The paper "Programming Language Design and Analysis motivated by Hardware Evolution" by Alan Mycroft, 2007: http://www.cl.cam.ac.uk/~am21/papers/sas07final.pdf The slides: http://www.cl.cam.ac.uk/~am21/papers/sas07slides.pdf In the slides the part I find more interesting for language design is pages 28-35. In slide 31 it shows the syntax: void foo(Q @p) {... This means "use either CBV or CBR but reject the body of f if it does anything which can tell the difference" (Functions needing CBR or CBV can have it, but CBEWE allows late binding of physical distribution.) This also reminds me my @transparent, the attribute for reference types coming out of pure functions :-) On page 34-35 it talks about quasi-linear types. The topics of the paper are similar, but the focus is not the on the same things. >From what I've seen the designers of the Chapel language have taken seriously >in account the design of future CPUs. I suggest to take a look at Chapel for >ideas. Bye, bearophile