Re:Haxl: Making Concurrency Unreasonably Easy [video]
by hughperkins on Saturday June 24, 2017 @06:19PM
(#14627710)
If one looks at it from a 'what a today's compiler can do', then sure, one needs to statically declare everything.
If one looks at things from a 'any technical task can be handled by machine learning, sooner or later' point of view, there seems to be no obvious reason why parallelization, which is a purely technical task, not like say, writing music, could not sooner or later be handled by machine learning algorithms?
Re:Haxl: Making Concurrency Unreasonably Easy [video]
by eru on Sunday June 25, 2017 @10:20AM
(#14630102)
Writing music is a pretty technical task, actually. Especially if you optimize for something as tangible as: please human ears, or "fit within the actions in the movie / computer game".
The idea here is that we want to find a way to make automatic parallelization of computer programmes happen as much as possible long before we've solved general AI.
So even in a language like Haskell you still have to pay some attention to make your code amenable to parallelism. See Guy Steele's advice (see https://vimeo.com/6624203).
So to answer your question: implementations will do this by default only after pure/constant will become the default for all functions/variables, with side-effecting/mutable clearly marked.