🔬42. Mathematics in the Num data type in Perl 6

The first full month of Perl 6 blogging is over. Daily Perl 6 insights of perl6.online: And a sister story of perl6.ru, where I write about the ‘user-level’ elements of Perl 6. My original plan was to have the whole year of posts, so about 1/12 is done. Let us look at the Num class, specifically … Continue reading “🔬42. Mathematics in the Num data type in Perl 6”

🔬41. Converting Num to Rat in Perl 6

In Perl 6, you can easily coerce numerical values from one type to another. One of the interesting conversions is Num to Rat. For example, take the value of π and convert it to a fraction: $ perl6 -e’say pi.Rat.perl’ <355/113> Indeed, 355/113 is 3.14159292035398, which is close to π. The default maximum error is built-in in … Continue reading “🔬41. Converting Num to Rat in Perl 6”

🔬40. Substitution and balanced brackets in Perl 6 regexes

I was randomly looking at different Rakudo Perl 6 source files and found a syntax construction that I could not recognise. I hope you were reading the documentation more carefully (or you did not forget after you have read it) than me, but nevertheless let me devote today’s post to that feature. So, this was … Continue reading “🔬40. Substitution and balanced brackets in Perl 6 regexes”

🔬39. Experimenting with Rats and Nums in Perl 6

Today, it will be a post with some small things about the two data types, Rat and Num. First of all, Zoffix Znet added some insights on Twitter regarding my previous posts. Let me just quote them here. Some useful information about DIVIDE_NUMBERS and DON’T_DIVIDE_NUMBERS: FWIW, these will be gone some time these year, together … Continue reading “🔬39. Experimenting with Rats and Nums in Perl 6”

🔬38. To divide or not to divide

We have seen the mysterious DIVIDE_NUMBERS function a couple of times already. Let us keep our focus on it today. The function is a part of the Rat data type. It lives in src/core/Rat.pm together with its sister, DON’T_DIVIDE_NUMBERS. (An apostrophe is a valid character for identifiers in Perl 6; it is not a namespace separator … Continue reading “🔬38. To divide or not to divide”

🔬37. Dividing by zero in Perl 6

You might already know that it is possible to divide by zero in Perl 6 🙂 Well, seriously speaking, you can only do that until you don’t want to announce it to the others. So, the division itself is not a problem: $ ./perl6 -e’my $x = 1; my $y = $x / 0; say … Continue reading “🔬37. Dividing by zero in Perl 6”

🔬36. Rakudo 2018.01

A new release of Rakudo was just announced. Most of the changes increase Perl 6 performance this time. Let us briefly look at some of them. I am happy to tell that my blog initiated at least two of the changes. Removed UInt64 (not to be confused with uint64) [cf154355] We’ve seen this class in the … Continue reading “🔬36. Rakudo 2018.01”

🔬35. Statement in the Grammar of Perl 6

At the beginning of the year, we began reading Perl 6’s Grammar. That exercise is very interesting but not that easy. Today, let us take one more step and look at the statement. The statement token is relatively compact. It is reproduced here with some simplifications (refer to src/Perl6/Grammar.nqp for the full code): token statement($*LABEL = … Continue reading “🔬35. Statement in the Grammar of Perl 6”

🔬34. Delimiters of embedded comments in Perl 6

In Perl 6, you can leave a comment inside the line of code using the #`(…) syntax: my Int #`(Integer variable) $i = #`(initialising the variable) 42; say #`( Printing it ) $i; This program is equivalent to the following: my Int $i = 42; say $i; The body of the embedded comment is located … Continue reading “🔬34. Delimiters of embedded comments in Perl 6”

🔬33. The cmp infix in Perl 6

In Perl 6, there is an infix operator called cmp. Despite its simple name and some connotations with its counter partner in Perl 5, its semantic is not trivial. From the documentation, we read: Generic, “smart” three-way comparator. Compares strings with string semantics, numbers with number semantics, Pair objects first by key and then by value … Continue reading “🔬33. The cmp infix in Perl 6”