The overview paper [1] is a reminder of the pace of change in computing:
> DARPA’s HPCS program was launched in 2002 with five teams, each led by a hardware vendor: Cray Inc., Hewlett-Packard, IBM, SGI, and Sun.
It also has one of the more amusing euphemisms I've heard in a while:
> In 2003, the HPCS program transitioned to phase II, and a programmatic downselect occurred, enabling the Cray, IBM, and Sun teams to pursue their proposed research plans.
This looks seriously cool. I need to spend a day or so really diving into the documentation, but if they can actually get this completely built and optimized it looks like it has the right features to be a systems language for the age of massively parallel and cloud computing.
I'm especially interested in the domain maps - I need to read more, but it looks like a system that separates the semantic view of a data structure (this is an array of integers, you can perform these functions on them) from the implementation details of in-memory layout and distribution across systems. Essentially, you seem to be able to adjust the algorithms on your data structures and the (extremely performance-critical) representation of them somewhat orthogonally.
Chapel emerged a while back from DARPA's High Productivity Computing Systems project along with the Fortress (now defunct) and X10 programming languages. Out of curiosity, is there a reason Chapel is a getting attention now?
How not to promote a language: hide almost all examples of source code for the language behind at least two clicks in PDFs. I was finally able to find an example of defining a variable after visiting the Tutorials page and reading through the first two and a half powerpoints, the first two not containing a single line of Chapel code.
Seriously, if I need to spend ten minutes just to find out what the language looks like where an example is somewhere between the extremes of the ten lines of code in the "quick reference" chart and the 313-page formal language definition, I'm probably not going to dive into the setup process to get the thing running when I can just go learn Rust or whatever.
https://twitter.com/MozElevator/status/368467593805328384
To someone on this project: you'll get a heck of a lot more community behind your code if you have at least one or more pages that look like the following:
http://dlang.org/comparison.html http://coffeescript.org/#overview https://www.python.org/doc/ http://doc.rust-lang.org/tutorial.html#syntax-basics http://learnyouahaskell.com/starting-out http://tour.golang.org/#1 http://www.scala-lang.org/documentation/getting-started.html http://clojure.org/getting_started http://www.php.net/manual/en/intro-whatis.php
I worked on the Chapel team in MN about eight years ago. I'm glad to see they're still actively working on the project. It seemed very promising then.
This looks definitely interesting. I'll have a closer look and play around with it a little to see how it goes.
From the little I saw, it seems to be a pretty nice language.
Fortress (http://en.wikipedia.org/wiki/Fortress_(programming_language)) and X10 (http://en.wikipedia.org/wiki/X10_(programming_language)) were the other two languages that came out of the DOE HPCS program (http://en.wikipedia.org/wiki/High_Productivity_Computing_Sys...) that might be interesting if you liked Chapel.
Other aiming-for-HPC languages include co-array Fortran (http://en.wikipedia.org/wiki/Coarray_Fortran) and Unified Parallel C (http://en.wikipedia.org/wiki/Unified_Parallel_C).
I never really saw any of them while working in HPC, though. It was just Fortran, C, and sometimes Python. The Python would really just call out via SWIG to a C function for the numeric kernel.