http://qs1969.pair.com?node_id=580042


in reply to Parrot, threads & fears for the future.

What if, the current non-Parrot Perl 6 implementation -- i.e. the one that has arrays and hashes and subroutines and hyperops and junctions and can natively use CPAN modules -- already implements SMP parallelism for hyper/junctions, exactly as you described?

http://pugs.blogs.com/pugs/2006/10/smp_paralleliza.html

What if the runtime system for this parallelization already supports huge numbers of "async{}" operations, with its preemptive lightweight concurrency, that scales linearly with the number of CPUs?

http://pugs.blogs.com/pugs/2006/10/more_smp_parall.html

What if, the said implementation has a comprehensive support for Software Transactional Memory, with lockless contention resolution, rollback via "defer", choice of fallback via "maybe", and will soon provide invariants via "ALWAYS{...}"?

http://svn.openfoundry.org/pugs/examples/concurrency/stm-contend.pl

What if the syntax of of such STM primitives as designed by TimToady++ is supported by the semantics outlined by lizm++, one of the most knowledgeable person of concurrent Perl?

http://svn.openfoundry.org/pugs/docs/Perl6/Spec/Concurrency.pod

What if the community behind the runtime system is actively working on GPU co-processors, native support for SSE2 for numerical operations (already implemented for x86_64), and Cell/Grid parallelism?

http://haskell.org/haskellwiki/GHC/Data_Parallel_Haskell

What if the Intel folks I've met last week, who are actively profiling and tuning their multicore CPUs to work with GHC's pure computation and concurrent computation notions, are delighted that Perl 6 can take advantage of those optimizations natively?

Does that not inspire you, if not with confidence, at least curiosity and excitement? :-)