(The intent is that) Perl 6 will be a better general purpose programming language for building application specific sub-languages. I'm interested in how far Perl 6 could go in providing support for a high-level expressive syntax sub-language for dealing with relational data. To the extent the general mechanisms will be in place in the core, there is no need to discuss it at this juncture; but then again, it's worth discussing to ensure that A) the general mechanisms will indeed be in place, and B) any syntaces chosen for core features won't jar with what makes sense for the relational data sub-language (at least not accidentally). For this post (and hopefully thread), I'm interested in focusing on the fact that a multi-dimensional array syntax, whatever it might end up being, is clearly going to be a direct analog of tables; that a multi-dimensional slice syntax could be seen as half way to virtual datasets drawn from multiple tables (eg a SQL select); that a discontiguous slice syntax gets the analogy even closer; that a missing piece, akin to SQL joins, could be darn useful outside of the usual database domain; that the issue that arrays have numeric indices means I'm really talking about multi-dimensional hashes, but then I don't see as sharp a divide between arrays and hashes as others may do, so I would expect whatever syntax is chosen for arrays is also usable for hashes; and finally that some of the issues that arise in considering multiple dimensional arrays are the same as those that arise in dealing with database data, for example sorting on multiple columns. I'm not going to post anything more concrete for this initial post. I thought others might want to pitch in first. If no one bites, I'll try to do a follow up in a few days with some more specific notes (unless someone bites so hard it's clear that I should just shut up).Thread Next