Live data from Hacker News

Larry Wall Unveils Perl 6.0.0

pigdog.org

121–130 of 336 posts

Re: Larry Wall Unveils Perl 6.0.0

#121
post #89

I'm really surprised this site is the source y'all chose to upvote. Not only was the second-newest article published in 2012, they also have an assortment of other questionable content[0][1]. Advertising from rotten.com and a category named "Jonny Jihad" are also professional touches. I mean, whatever floats your boat, but HN, is this really one of your go-to trusted news sources? [0] http://www.pigdog.org/in_the_pin…

I was delighted to see pigdog.org appear on the front page of HN; I thought it had died years ago (and I guess it mostly did). The Pigdog Journal was a Big Deal for a certain clique of nerds/technologists in the late 90s/early 00s. (You know, when Perl was also a Big Deal.) The web was a smaller, zanier place then; for those that remember that web, pigdog.org brings a wave of nostalgia.

I edited my snark, but I was going to ask if this was "just a Perl thing?"

I guess it's just a Perl thing...

Re: Larry Wall Unveils Perl 6.0.0

#122
post #109

quetion for the early adopters: if i develop an end-user app in perl6 on linux, how easy is it for me to deliver it to a non-technical windows and/or mac osx user?

Since Rakudo also targets the JVM, not just MoarVM (the dedicated VM), I imagine it's not terribly too much work to get to the point where the app, included modules, and Rakudo/Perl 6 itself can be bundled together for delivery.

Re: Larry Wall Unveils Perl 6.0.0

#124
post #64
post #49

Earlier quoted context omitted.

> but I want to see what "Perl" is like > get that they're different languages I'm not sure you do get it, unless you are talking about the "feel" of using it, in which case use either. They aren't just different languages because there's some things that break backwards compatibility, they are vastly different in many ways. If you want to know what current deployed Perl is like, look at Perl 5. If you want to look a…

I was talking about the "feel", indeed. So for example, if someone wanted to experience what a Lisp is like, I could point them to Scheme. I want to know what "Perl" is like, but the fact that Perl 5 and 6 share the same name is a tad confusing for a newcomer. Precisely because I have no idea what "standard" Perl is. I guess Perl 5 it is, since it's already on my machine.

Then I recommend perlbrew[1] for Perl 5, and rakudobrew[2] for Perl 6 if you decide you want to take a look there as well. They will let you quickly build and install any particular version of Perl you like, and allow switching between versions if you have the need. The Version of Perl included in most distros is rather old as, Perl 5 sees regular releases with new features.

The one main hint I have for you (beyond reviewing the Modern Perl book, as my sibling comment recommends) is to understand context and what that means in Perl. Perl can look deceptively similar to C and other procedural languages, but there are some somewhat (still) radical ideas underneath that will leave you either scratching your head or grumbling in frustration if you don't understand context (list or scalar), and how it's relevant in almost everything Perl does.

1: http://perlbrew.pl/

2: https://github.com/tadzik/rakudobrew

Re: Larry Wall Unveils Perl 6.0.0

#125
post #25
post #23

> ++; # An anonymous state variable, for very fast loops Perl, never stop being you

If I'm not mistaken, that probaby should have read $++;

Correct. $ is an anonymous scalar (which autovivifies to 0 and increments in $++). There's also anonymous array @ and anon hash %. The hash form you can see in action here, in the one-liner mad-libs code: http://rosettacode.org/wiki/Mad_Libs#Perl_6

Re: Larry Wall Unveils Perl 6.0.0

#126
post #84

Earlier quoted context omitted.

> Method modification is trivially done through "alias" and then just redefining the method in Ruby I don't know how to convert this into ruby then without needing to manually gensym a bunch of names: use Class::Method::Modifiers; sub foo { 2 } before foo => sub { warn "before foo 1" }; around foo => sub { my ($orig, $self) = (shift, shift); warn "around foo"; (1, $orig->$self(@_), 3); }; before foo => sub { warn "be…

> I don't know how to convert this into ruby then without needing to manually gensym a bunch of names Sounds like you want something like: https://github.com/nicknovitski/modifiers > Which is required if you're going to use value objects as much as possible rather than spraying mutable state everywhere. Using Ruby's Struct class for this often avoids needing explicit constructors.

Except that package doesn't provide before/after/around.

What I really want is CLOS. But the closest in perl/python/ruby/javascript is Moose/Moo.

There's also, btw, a moosex gem where some rubyists are trying to port the perl stuff - but Moose/Moo are pervasive in modern OO perl whereas most existing ruby code is done the ugly, boilerplate-y way.

Re: Larry Wall Unveils Perl 6.0.0

#127

Earlier quoted context omitted.

Or until you trip over the API differences between str and bytes in Python 3 that do not exist in Python 2 (because str == bytes in Python 2). Chiefly, printf-style formatting... >>> b"%u" % 5 Traceback (most recent call last): File " ", line 1, in TypeError: unsupported operand type(s) for %: 'bytes' and 'int'

Why are you using % at all? It should have been deprecated years ago.

It's not deprecated, though.

Re: Larry Wall Unveils Perl 6.0.0

#128
post #97

So is this a real thing? I've never seen this pigdog website before, it's second newest article was published in 2012, and there's no mention of this on the perl 6 home page or in the perl 6 announcements mailing list..

At FOSDEM earlier this year, Larry gave the presentation they describe, and said that they were expecting a beta release at Christmas this year. So the general concept is legit, regardless of the site.

Re: Larry Wall Unveils Perl 6.0.0

#129
Sounds like a v2.0 with feature bloat.

""Any infix operator can be replaced by itself in square brackets..." Later someone asked, "In a world of user-defined operators everywhere, how do you define precedence?" And Larry pulled out is tighter() and is looser(), noting that Perl 6 even has customizable precedence levels. "You can add an infinite number...""

It's been said that most of programming is about managing complexity. I'm unhappy with Perl in general because it makes it really easy to hide complexity. Perl 6 looks like it makes it even worse.

Yes, it looks like an amazingly powerful and sophisticated language, and an amazing and respectable accomplishment, but my gut feeling is I'll hate seeing some in production...

Re: Larry Wall Unveils Perl 6.0.0

#130
Sounds like a v2.0 with feature bloat.

""Any infix operator can be replaced by itself in square brackets..." Later someone asked, "In a world of user-defined operators everywhere, how do you define precedence?" And Larry pulled out is tighter() and is looser(), noting that Perl 6 even has customizable precedence levels. "You can add an infinite number...""

It's been said that most of programming is about managing complexity. I'm unhappy with Perl in general because it makes it really easy to hide complexity. Perl 6 looks like it makes things worse.

Yes, it looks like an amazingly powerful and sophisticated language, and an amazing and respectable accomplishment, but my gut feeling is I'll hate seeing some in production...

Post reply on HN