Live data from Hacker News

Larry Wall's Perl 6 Release Talk [video]

youtube.com

11–20 of 70 posts

Re: Larry Wall's Perl 6 Release Talk [video]

#11
I have to work with a legacy Perl codebase most weeks and I've been ignoring Perl 6 because upgrading our interpreter version is difficult for a bunch of reasons to boring to go into.

I'd been naively holding out a hope that Perl 6 would improve things so I clicked on the Perl 6 for Perl 5 programmers link from perl6.org.

They added code block interpolation to strings:

  #!/usr/bin/env perl6
  my $number = 3;
  say( "{ $number * 4 }" ); # prints 12

Re: Larry Wall's Perl 6 Release Talk [video]

#12
post #8

Earlier quoted context omitted.

You overlook the addendum in the parent post.

I don't think so - it's still 'slower than similar languages with similar features', so not sure what difference it makes that there aren't many languages to compare against, if when we do compare it's still slower. I'd be interested to see what features there are that make the system slower in general, even when they aren't being used. I did a lot of work in my PhD on making odd features not affect the performance o…

Not directly, sadly. I can make an educated guess though, since Perl 5 has since adopted many of the features thought up for Perl 6. Particularly try looking at its OO features, in regards to roles, parametrized roles, reflection and automated attribute/constructor creation. I can't say with confidence, but i suspect the number of languages having all those features is very low, if existent, and the number of languages with some of these features is also low.

Do note that you will have to look closely and follow references to make sure you have a full picture of understanding, since at first glance many of them seem simple, but turn out to offer considerable depth.

http://doc.perl6.org/language/objects

Re: Larry Wall's Perl 6 Release Talk [video]

#13

I have to work with a legacy Perl codebase most weeks and I've been ignoring Perl 6 because upgrading our interpreter version is difficult for a bunch of reasons to boring to go into. I'd been naively holding out a hope that Perl 6 would improve things so I clicked on the Perl 6 for Perl 5 programmers link from perl6.org. They added code block interpolation to strings: #!/usr/bin/env perl6 my $number = 3; say( "{ $nu…

You can do that already in perl 5:

    > perl -E 'my $i = 1; say "@{[ sin $i ]}";'
    0.841470984807897
perl 6 will improve things, it has a huge feature set.

Re: Larry Wall's Perl 6 Release Talk [video]

#14
post #5
post #4

How fast is Perl 6 nowadays?

Faster than Perl5 with Moose, but slower than similar languages with similar features. But there are not many with this impressive feature set.

Is JIT going to be on the horizon (sorry didn't watch the full video)?

Re: Larry Wall's Perl 6 Release Talk [video]

#15
post #8

Earlier quoted context omitted.

You overlook the addendum in the parent post.

I don't think so - it's still 'slower than similar languages with similar features', so not sure what difference it makes that there aren't many languages to compare against, if when we do compare it's still slower. I'd be interested to see what features there are that make the system slower in general, even when they aren't being used. I did a lot of work in my PhD on making odd features not affect the performance o…

My main guesses:

* multiple dispatch * the meta-object protocol

And the thing is, these features are being used all the time, because the core language is built out of them. If you want to see how a language which is not built on these things runs (on the same vm implementation, I might add), I suggest you try nqp :-).

https://github.com/nqp/nqp

Re: Larry Wall's Perl 6 Release Talk [video]

#16

I have to work with a legacy Perl codebase most weeks and I've been ignoring Perl 6 because upgrading our interpreter version is difficult for a bunch of reasons to boring to go into. I'd been naively holding out a hope that Perl 6 would improve things so I clicked on the Perl 6 for Perl 5 programmers link from perl6.org. They added code block interpolation to strings: #!/usr/bin/env perl6 my $number = 3; say( "{ $nu…

This is little different from something like:

  #!/usr/bin/env perl6
  my $number = 3;
  printf( "%s\n", $number * 4 ); # prints 12
What is your complaint?

Re: Larry Wall's Perl 6 Release Talk [video]

#17
post #14
post #5

Earlier quoted context omitted.

Faster than Perl5 with Moose, but slower than similar languages with similar features. But there are not many with this impressive feature set.

Is JIT going to be on the horizon (sorry didn't watch the full video)?

It's already there on x64.

Note that to fully take advantage of it, the optimization layer above it that does type specialization also needs work (eg some optimizations were lost during the 'Great List Refactor', a semantic change that was set as one of the blockers for the 6.0 release).

Re: Larry Wall's Perl 6 Release Talk [video]

#18
post #15

Earlier quoted context omitted.

I don't think so - it's still 'slower than similar languages with similar features', so not sure what difference it makes that there aren't many languages to compare against, if when we do compare it's still slower. I'd be interested to see what features there are that make the system slower in general, even when they aren't being used. I did a lot of work in my PhD on making odd features not affect the performance o…

My main guesses: * multiple dispatch * the meta-object protocol And the thing is, these features are being used all the time, because the core language is built out of them. If you want to see how a language which is not built on these things runs (on the same vm implementation, I might add), I suggest you try nqp :-). https://github.com/nqp/nqp

Don't forget about the grammar engine - the parsing speed is only in the hundreds as measured in lines of code/s, which is a concern for script startup.

I've come up with rather 'creative' workarounds[1] until a more proper solution arrives...

[1] https://github.com/cygx/6make/blob/master/6make

Re: Larry Wall's Perl 6 Release Talk [video]

#19
post #18
post #15

Earlier quoted context omitted.

My main guesses: * multiple dispatch * the meta-object protocol And the thing is, these features are being used all the time, because the core language is built out of them. If you want to see how a language which is not built on these things runs (on the same vm implementation, I might add), I suggest you try nqp :-). https://github.com/nqp/nqp

Don't forget about the grammar engine - the parsing speed is only in the hundreds as measured in lines of code/s, which is a concern for script startup. I've come up with rather 'creative' workarounds[1] until a more proper solution arrives... [1] https://github.com/cygx/6make/blob/master/6make

He does call it a "compiler" in the video. Maybe that's temporary while it's still unoptimized, or a change in direction?

Re: Larry Wall's Perl 6 Release Talk [video]

#20
I'm really interested in this. Perl6 is so jam packed with interesting novel features, that it serves as an amazing testbed for future languages. I always feel that Ruby was a language that came out of Perl; a subset of it's features, carefully selected and implemented with the knowledge of what did not go too well with Perl.

Thanks Larry and co!

Post reply on HN