Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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++.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: