Re:Ask HN: Why hasn't Perl 6 taken off yet?
by gotofritz on Monday November 07, 2016 @03:55AM
(#12889716)
> I've been converting some old stuff to it to learn it, and it crazy how much more compact things can become
Oh gosh that sounds scary. A lack of compactness was never Perl's problem, quite the opposite in fact.
Re:Ask HN: Why hasn't Perl 6 taken off yet?
by markrushing on Monday November 07, 2016 @06:17AM
(#12890236)
Yeah, I didn't mean compact as in, oh let's see how few letters we can use. I meant compact in the way you can organize even VERY complex stuff, especially using their concept of grammars. You can write whole languages and protocols pretty neatly with those.
Or like type. I've been loving their type system. You can use Perl as a heavily typed and enforced language, or not at all. And it's really easy to make up your own types, which you can also easily use for handling arbitrary constraints you might need.
subset Even of Int where * mod 2 == 0;
(1..1000).map: { when .is-prime { .say }
when Even { say 'EVEN Num' }
default { say 'no'}
}
Like there I just made up an new type called "Even", and used it when printing out stuff about numbers between 1 and 1000. But the really cool thing is you can use the exact sort of stuff for all kinds of variable types and even structures. It's just amazingly weird and open wonderful. I admit I've really fallen for it. ;)
Re:Ask HN: Why hasn't Perl 6 taken off yet?
by b2gills on Tuesday November 08, 2016 @01:01AM
(#12898036)
There is an operator to check if one number is divisible by another.
subset Even of Int where * %% 2;
You also don't have to write the where clause as a lambda. subset Even of Int Where $_ %% 2;
Re:Ask HN: Why hasn't Perl 6 taken off yet?
by markrushing on Tuesday November 08, 2016 @02:18AM
(#12898318)
woot! :) still learning stuff ;) - though I'll use the first.
Re:Ask HN: Why hasn't Perl 6 taken off yet?
by Ulti on Monday November 07, 2016 @05:16AM
(#12889998)
No one talking about Perl 6 compactness means golfed code! Just naturally translating over say a Java program with the OO design intact will be hugely compact. In a way that means the code is written at a succinct conceptual and declarative level. Perl 6 is incredibly declarative, you say what you want, not how to get there. The core features cover nearly all of what you want out of the box too.
I've been converting some old stuff to it to learn it, and it crazy how much more compact things can become. Working with grammars has been amazing. And I'm just now getting hit over the head with how flexible class roles with parameters can be to consolidate methods that do similar, but slightly different things.
I haven't even started into the concurrency bits yet... something about "promises" and "supplies". But I'm actually looking forward to it at this point. And that's really a surprising thing to me ;)
Anyway, my 2 cents on it at least. I'm not sure it matters if Perl is ever a poster child for anything. I think it kinda just doesn't matter.