Path: csiph.com!au2pb.net!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: Kao Hsiang <0xe0e1e@gmail.com> Newsgroups: comp.compilers Subject: Another approach to parallel programming Date: Wed, 26 Aug 2015 13:56:59 -0400 (EDT) Organization: Compilers Central Lines: 21 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <15-08-014@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: miucha.iecc.com 1440611819 43671 2001:470:1f07:1126:0:676f:7373:6970 (26 Aug 2015 17:56:59 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Wed, 26 Aug 2015 17:56:59 +0000 (UTC) Keywords: parallel, question Posted-Date: 26 Aug 2015 13:56:59 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1590 In recent years, I have been concerned about parallel programming in a new way. Gradually I formed an idea about a approach of imperative parallel programming. ------------- Let f(a,b,c,...) be any function(or subroutine), we define that a,b,c,... can be executed parallelly, and f depends on a,b,c,... so it executes after its arguments. and I think it can be a basic primitive of imperative parallel programming. Next we define block "to{...}" and block "do{...}" (in library) "to" is a null function with variable arguments to represent parallel sentences. "do" is a function "do(a,func b()) {b();}" with argments "a" and a closure "b" (continuation-passing style) to represent sequential sentences. And then the instruction-level parallel programming can be easily implemented based on f. It can be compiled into vm bytecode/ VLIW architecture code / os-based threads. ------------ Sorry about my broken English. Now I plan to implement a new language based on the above idea. I think this language will be useful and convenient for parallel programming. Gao Xiang