Live data from Hacker News

Larry Wall has approved renaming Perl 6 to Raku

github.com

451–460 of 463 posts

Re: Larry Wall has approved renaming Perl 6 to Raku

#451
post #269

Earlier quoted context omitted.

Does Python 3 have any operators that transform ordinary method calls into concurrent method calls? Perl 6/Raku does.

Is that a bit like Go's `go` keyword? edit: that is, as far as I can tell, after a quick Google, it's not too different from Python's Thread object.

The `start` statement prefix operator is a bit like Go's `go` keyword.

(In that when I translate Go into Raku, I usually replace `go` with `start`.)

    my Channel \input .= new;
    my Channel \output .= new;

    start for input -> \message { output.send(message) }

    start for output -> \message { say message }

    input.send(5);
But what he was really talking about is something more like the following.

    sub foo () {
      sleep 10;
      42
    }

    #                     ___
    #                    V   V
    my $delayed-result = start foo();

    say 'Hello World'; # Hello World

    say $delayed-result.status; # Planned

    say await $delayed-result; # 42

Re: Larry Wall has approved renaming Perl 6 to Raku

#452
post #174
post #166

Earlier quoted context omitted.

Why should first-class concurrency needs be required to script in Elixir? This question seems to imply that Python is somehow a default language and special requirements must be needed to justify writing in something else. Elixir is general-use and pleasant to write scripts in so seems reasonable to me for someone to do so if that's their thing.

Which is a similar response to the comments asking "why Perl over Python?" I ask, why not (both)?

Especially since you can use the Inline::Python module.

Re: Larry Wall has approved renaming Perl 6 to Raku

#453
post #212

Earlier quoted context omitted.

tldr; Using a scripting language that allows for native threads or has a strong concurrency model builtin to the core would be beneficial for any CPU bound scripting task... ----- Python's concurrency model is good for waiting on network or disk I/O because of its GIL (Global Interpreter Lock): https://realpython.com/python-gil/#the-impact-on-multi-threa... If your program is CPU bound the GIL will slow you down. I'm…

As I've posted above, I'm a bit confused by CPU-bound work being processed in a scripting language. If you're planning on doing intense CPU-bound work, maybe use a lower-level language? I'm not saying abandon Python: you can extend Python with C or just use IPC to transfer data between a Python front-end and a computation back-end.

I have a different perspective.

When I have a bit of Raku code that is too slow I complain (send a bug report) and then someone else figures out why the JIT isn't doing a better job and fixes it.

Then bingo-bango it ends up even faster than using NativeCall to call into the C code.

Of course there may be a delay before someone gets around to figuring it out; so in the meantime, NativeCall is actually very easy to use.

---

I would like to note that someone wrote Perl6/Raku code and the equivalent C/C++ code. They reported that the Perl6/Raku code was faster. (It was before Raku was brought up as an alias/name.)

I'm fairly sure that the reason the C/C++ code was slower is that it copied strings around rather than using pointers and indexes into other strings like MoarVM does.

Re: Larry Wall has approved renaming Perl 6 to Raku

#454
post #83

Earlier quoted context omitted.

I can say that at least currently, there is no appetite for Perl attempting to "reclaim" the Perl 6 version in the foreseeable future. It would be a disaster in both community relations and marketing. It will either be Perl 7 or Perl 34+.

Perl 2019

This has the benefit of showing that Perl gets a new version released every year.

I have previously stated that I would like it to be an alias of sorts.

    use v5.30;

    use v2019;
Basically have both of those lines do the same thing.

---

Perhaps even something like:

    use Perl v2019;
(I actually considered posting a module that would make that work.)

Re: Larry Wall has approved renaming Perl 6 to Raku

#455
post #267

Earlier quoted context omitted.

Solaris skipped from 2.6 to 7. UnixWare also jumped from 2.x to 7. HP/UX skippped from 3.x to 6.x. In perhaps the strangest version jump of all time, Darwin jumped from 1.4.1 to 5.1, as part of Mac OS X 10.1.1. It seems Unix vendors really don't like low version numbers. Of course, Windows famously jumped from 3.x to 95, so it's not like they're any better.

Windows 95 was Windows 4.0. There are several parts of Windows 95 that even indicated this in a user-visible way. Microsoft was surprisingly good at not skipping numbers, until the jump from Windows 8.1 to Windows 10, which also lead to the NT kernel jumping from 6.x to 10.

Microsoft had to skip 9 because programmers are lazy.

A lot of programs refused to work if there was a `9` in the version name.

That was of course because those programs needed something newer than Windows 95 or Windows 98. So they just did a string search for `9` in the version name.

There may be a few programs that wouldn't work on `8.9` or `10.9` if they were released for the same reason.

Re: Larry Wall has approved renaming Perl 6 to Raku

#456
post #47
post #46

Earlier quoted context omitted.

> Larry has now agreed with the change and Perl 6 will be renamed to "raku" and Perl 5, which has regular, major releases every year, will now be able to simply be "Perl" and be free to continue on its own way. I hope that doesn't mean that when Perl needs a major number version change again, they'll chose 6. It would be pretty confusing to have 2 Perl 6.

They'll probably skip to 7.

I think it would be a better idea to make the minor number be the major number. So skip to 32.

Re: Larry Wall has approved renaming Perl 6 to Raku

#457

Earlier quoted context omitted.

That applies to every living thing ever, though. You're not focusing on the camel at all, or elevating it, unlike joshred's formulation.

Not everything that ever lived is as adapted as the camel and not in as many ways. it has huge fat stores so it can go a long time between meals. It can go a long time without even drinking. It has for thick enough it won't sunburn but thin enough it won't overheat easily. They have a third, translucent eyelid that opens to the side like something you might see on a reptile, but they still have the two main lashed ey…

What's surprising is that there is evidence that they originally evolved to deal with the snows of the arctic.

So those feet that are great on sand were made for walking on snow covered ground.

Likewise food is scarce in both the arctic during the winter and in the desert.

Re: Larry Wall has approved renaming Perl 6 to Raku

#458

Earlier quoted context omitted.

I've been developing software for more than ten years and it is rare now that I encounter anything genuinely new "idea wise" in a programming language. The main questions I have when doing something in an unfamiliar language are now: 1. What is the syntax for X 2. Can it do Y 3. Is there a library/builtin for Z For anything else, I've probably been there, done that, got the t-shirt. I remember using some books to get…

This is how to learn to mimic a new language and avoid actually learning it. It’s the difference between carrying around a French phrase book and being able to converse like a native.

Yeah, I don't think that anyone learning Raku that way would realize that the {} in the following is actually a lambda.

    for @a { .say }
So this works in basically the same way:

    my $lambda = { .say }

    @a.map( $lambda );
Or that the pointy block syntax …

    for @a -> $item { say $item }
… works on every keyword of the form `KEYWORD (CONDITION) {BLOCK}`.

    if $a.method() -> $result { say $result }
The pointy block is of course also a lambda.

    my $lambda = -> $result { say $result }
---

Raku is a much more consistent language than beginners expect. The above is just one example of this.

Because it is so consistent; once you learn something in one place, you can use that knowledge everywhere in the language.

But first you have to realize that is even a possibility.

It would take a long time to come to that conclusion if you write Raku by copy-pasting code.

That is because very few languages are as strangely consistent as Raku.

Re: Larry Wall has approved renaming Perl 6 to Raku

#459

Earlier quoted context omitted.

> I don't think those who came up with the names did so to, or cared to, convince people to use the language with them Mission acomplished then, if we take a look to the low interest in people to massively adopt the language since it was released in 2015

> Mission accomplished then, if we take a look to the low interest in people to massively adopt the language since it was released in 2015 Yeah, as if the name is what caused the non-adoption of a 20 years late replacement for a language that had already fallen out of fashion with developers (and with many growing pains in the compiler and tooling to boot). If anything, they used the "Perl 6" for most of the time, wh…

I want to know who taught you math.

Because 2015 - 2000 does not equal 20.

The project started in 2000.

---

It would have been a much worse language if it had been released even a few months earlier. (That was before the GLR landed.)

---

Also just about every time a new feature was added in the first few years the existing features were redesigned so that everything was consistent.

So despite having many features from many languages, it feels like all of those features belonged together.

Because of the time taken back then, it is actually really easy to add new features to the language now. (Try adding first-class regexes to any other existing language.)

For example, all of the normal operators are just subroutines with a special name. Which means you can create a new operator that works exactly like a built-in operator by giving it a similar special name. (From a certain viewpoint, Raku doesn't have built-in operators.)

Also regexes (which have been redesigned to be easier to read) and string literals are actually Domain Specific Languages in Raku. Which means you can also add your own similar feature if you felt so inclined.

---

I like to think of it this way:

A language like Python is a good toolbox.

Raku is also like a good toolbox, except it is also a fully decked out machine shop for creating new tools that no one has thought of yet.

Everyone who has worked in a machine shop knows it takes a few years to get one setup just-right.

---

Also there is a saying:

It can be good, fast, or cheap. Pick at most two.

Raku was created entirely by volunteers, so by definition it has to be cheap.

Which means there was only ever a choice between fast or good.

I'm glad the choice was to make it good rather than fast.

(Especially since the whole reason to create it was to make something that was more good than Perl was at the time.)

Re: Larry Wall has approved renaming Perl 6 to Raku

#460

Earlier quoted context omitted.

> Everything counts Not everything counts equally. If something affects the adoption by 1M users, and another is only a concern for 100 weirdos, the second is not exactly a major issue to focus on...

> If something affects the adoption by 1M users, and another is only a concern for 100 weirdos, the second is not exactly a major issue to focus on... noun: weirdo; 1) a person whose dress or behaviour seems strange or eccentric. Yep, weirdos will never ever have any influence on Perl development or Perl community. https://www.ecured.cu/Larry_Wall#/media/File:Imagen_Larry_Wa...

He has long hair now, which is often under a cowboy hat. He of course still wears hawaiian shirts.
Post reply on HN