Boian Mitov wrote:
See... this is the point. In order to properly implement parallel loops etc. even in their limited form the compiler needs specific RTL support. So we break one of the basic principles that the compiler is the root, and the RTL is a library compiled in it. Once you start getting the compiler to depend on RTL implementation, you start to get in troubles IMHO.

The compiler already depends heavily on the RTL for e.g. string and dynamic array handling. If a string or a dynamic array is already a first-class construct, why shouldn't a foreach be?

I think parallel processing belongs in library implementations.

I have reservations, based in part on the fact that other language implementations are prepared to assume responsibility for parallelisation, in part on experience with e.g. APL which at the very least specifies that the user should assume that operations are parallelised, and in part on the fact that FPC already vectorises on e.g. SSE2 hardware.

--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to