|
I can think of grammars, junctions, autothreading. Grammars are YACC on steroids. You can very simply say "this parsing state requires reading dot-separated things". Junctions define multiple plausible states. In certain instances, they can look like a feature you know, but they're more generalized than any of those: sum types, switch statements with multiple cases, combined guards, sets… Autothreading gives the ability to automatically parallelize certain constructs (for instance, when an expensive operation happens on a junction). Perl6 also includes features found only in non-mainstream languages, like lazy lists, macros, and runtime addition of syntax. And it has most modern concurrency primitives, unlike most languages which only have one: threads, locks, semaphores, promises, channels, event loops, supplies. To be clear: Perl 6 is not without flaws (marketing and performance, for instance), but it is definitely innovative. It lets you write expressive code more succinctly than mainstream dynamic languages, in a way similar to how Python lets you write expressive code succinctly compared to C++. |